ヘッダーをスキップ

Oracle Database アップグレード・ガイド
11g リリース1(11.1)

E05758-02
目次
目次
索引
索引

戻る 次へ

2 アップグレードの準備

この章では、データベースをOracle Database 11gリリース1(11.1)にアップグレードする前に、実行しておく手順について説明します。「データベースのアップグレード処理の概要」に示したアップグレード処理の手順1〜3を詳しく説明します。

この章では、次の項目について説明します。

アップグレードの準備

アップグレードの準備として、次の作業を行います。

Oracle Databaseの新機能の理解

アップグレード処理を計画する前に、Oracle Database 11gリリース1(11.1)の新機能を理解する必要があります。Oracle Databaseのリリース間の相違点については、『Oracle Database新機能ガイド』を参照してください。 各コンポーネントの新機能については、Oracle Database 11gリリース1(11.1)ドキュメント・セットにある各コンポーネント固有のドキュメントを参照してください。たとえば、Oracle Real Application Clustersの変更点については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

アップグレード・パスの決定

Oracle Database 11gリリース1(11.1)へアップグレードするために必要なパスは、現行のデータベースのリリース番号によって異なります。 現行のバージョンのOracle Databaseから最新のバージョンに直接アップグレードできない場合があります。 現行のリリースによっては、Oracle Database 11gリリース1(11.1)へのアップグレードには、1つ以上の中間リリースを介したアップグレードが必要となる場合があります。

たとえば、現行のデータベースがリリース8.1.6を実行している場合は、次の手順に従います。

  1. リリース3(8.1.7)の『Oracle8i移行ガイド』の指示に従って、リリース8.1.6から8.1.7.4へアップグレードします。

  2. Oracle Database 10gリリース2(10.2)の『Oracle Databaseアップグレード・ガイド』の指示に従って、リリース8.1.7.4から10.2.0へアップグレードします。

  3. このマニュアルの指示に従って、リリース10.2.0からOracle Database 11gリリース1(11.1)へアップグレードします。

表2-1に、Oracle Databaseのリリースごとに必要なアップグレード・パスを示します。ご使用のデータベースに固有のアップグレード・パスおよびドキュメントを使用してアップグレードします。

表2-1    アップグレード・パス 
現行リリース  アップグレード・パス 

7.3.3以下

7.3.4

8.0.3

8.0.4

8.0.5

8.0.6

8.1.5

8.1.6

8.1.7.4

9.0.1.4 

直接のアップグレードはサポートされていません。 次のように、Oracle Database 11gリリース1(11.1)へアップグレードする前に、中間リリースのOracle Databaseにアップグレードする必要があります。

  • 7.3.3(以下)→ 7.3.4 → 9.2.0.8 → 11.1

  • 8.0.5(以下)→ 8.0.6 → 9.2.0.8 → 11.1

  • 8.1.7(以下)→ 8.1.7.4 → 10.2.0 → 11.1

  • 9.0.1.3(以下)→ 9.0.1.4 → 10.2.0 → 11.1

Oracle Databaseの中間リリースのドキュメントの指示に従って、中間リリースへアップグレードします。 次に、第3章「新しいリリースへのアップグレード」の指示に従って、中間リリースのデータベースをOracle Database 11gリリース1(11.1)にアップグレードします。 

9.2.0.4

10.1.0.x

10.2.0.x 

9.2.0.4以上、10.1.0.2以上および10.2.0.1以上からOracle Database 11gリリース1(11.1)への直接のアップグレードがサポートされています。 Oracle Clusterwareリリース10.2.0.xは、リリース10.2.0.3以上にしてからOracle Database 11gリリース1(11.1)にアップグレードする必要があることに注意してください。「Oracle Real Application Clusters(Oracle RAC)Databaseのアップグレード」を参照してください。

リリース9.2.0.3の場合は、次のように、まず中間リリースのOracle Databaseにアップグレードする必要があります。

9.2.0.3(以下)→ 9.2.0.8 → 11.1

Oracle Database 11gリリース1(11.1)にアップグレードするには、第3章「新しいリリースへのアップグレード」の指示に従ってください。 


注意:

データベースのダウングレードの詳細は、「ダウングレードがサポートされているリリース」を参照してください。 


アップグレード方法の選択

次の項で、データベースをOracle Database 11gリリース1(11.1)へアップグレードする際に使用できる方法を説明します。

Database Upgrade Assistant

Database Upgrade Assistant(DBUA)は、対話形式でアップグレード処理の手順を実行し、Oracle Database 11gリリース1(11.1)のデータベースを構成します。DBUAを使用すると、通常は手動で実行するアップグレード処理のすべてのタスクが自動化されます。DBUAでは、表領域、REDOログなどの構成オプションの適切な推奨値が提供されます。ユーザーは、この推奨値を使用できます。

DBUAでは、Oracle Real Application Clusters(Oracle RAC)および自動ストレージ管理(ASM)がサポートされています。

Oracle Real Application Clustersのサポート

Oracle RAC環境では、DBUAは、クラスタ内のすべてのノードにあるすべてのデータベースおよび構成ファイルをアップグレードします。

自動ストレージ管理のサポート

DBUAでは、自動ストレージ管理(ASM)を使用するデータベースのアップグレードがサポートされています。ASMインスタンスが検出された場合は、データベースとASMの両方またはASMインスタンスのみの更新を選択できます。

参照:

「Database Upgrade Assistantを使用したデータベースのアップグレード」  

手動アップグレード

手動アップグレードでは、コマンドラインからSQLスクリプトおよびユーティリティを実行して、データベースをOracle Database 11gリリース1(11.1)へアップグレードします。

手動アップグレードでは、アップグレード処理をより詳細に制御できますが、実行されなかったアップグレード手順またはアップグレード前の手順がある場合、または不適切な順序で実行された場合にエラーが発生する可能性がより高くなります。

アップグレード前

データベースを手動でアップグレードする場合、次のアップグレード前の手順を実行します。

アップグレードしているデータベースのリリースに応じて、追加のアップグレード前の手順(アップグレードに向けたパラメータ・ファイルの調整、廃止された初期化パラメータの削除およびアップグレードの問題が発生する可能性のある初期化パラメータの調整)が必要な場合があります。

アップグレード後

アップグレードのスプール・ログ・ファイルを確認し、アップグレード後の状態ツールを使用します。 アップグレード後の状態ツールは、Oracle Database 11gリリース1(11.1)に付属するSQLスクリプトです。新しいリリースの環境で実行する必要があります。

参照:

「データベースの手動でのアップグレード」 

エクスポート/インポート

DBUAまたは手動アップグレードとは異なり、エクスポート/インポート・ユーティリティは、現行のデータベースのデータを新しいデータベースに物理的にコピーします。 Oracle Data Pump Export/Importユーティリティ(Oracle Database 10gリリース1(10.1)以上で使用可能)またはオリジナルのエクスポート/インポート・ユーティリティを使用してデータベースの全体または一部をエクスポートし、それを新しいOracle Database 11gリリース1(11.1)データベースにインポートします。エクスポート/インポートによって、元のデータベースを変更することなく、データベース内のデータのサブセットをコピーすることができます。

Oracle Database 10gリリース1(10.1)以上からアップグレードする場合は、パフォーマンス向上の点から、データ・ポンプ・エクスポート/インポートを使用することをお薦めします。

現行のデータベースのエクスポート・ユーティリティは、データベースの特定部分をエクスポート・ダンプ・ファイルにコピーします。 次に、Oracle Database 11gリリース1(11.1)のインポート・ユーティリティが、このエクスポートされたデータを新しいデータベースにロードします。 ただし、エクスポート・ダンプ・ファイルからロードする前に、Oracle Database 11gリリース1(11.1)の新規データベースを準備しておく必要があります。

以前のリリースからデータをインポートする場合、Oracle Database 11gリリース1(11.1)のインポート・ユーティリティでは、以前のリリースのエクスポート・ダンプ・ファイルを読み込む際に、データ定義に適切な変更を加えます。

次の項では、データベースのアップグレードにエクスポート/インポートを使用するかどうかを決定する際に有効な、エクスポート/インポートの特長について説明します。

エクスポート/インポートによってアップグレードされたデータベースへの影響

エクスポート/インポートによるアップグレード方法では、現行のデータベースが変更されません。したがって、データベースは、アップグレード処理を通して常に使用可能な状態です。ただし、一貫性のあるデータベースのスナップショットが必要な場合(データの整合性保持またはその他の目的のため)、データベースは、制限モードで実行するか、またはエクスポート実行時に変更禁止にする必要があります。 現行のデータベースを使用可能な状態にしておくことができるため、たとえば、既存の本番データベースを実行しながら、エクスポート/インポートによるOracle Database 11gリリース1(11.1)の新規データベースの作成を同時に行うことができます。 このアップグレード処理中にデータベースの完全な一貫性を維持するには、データベースのデータを変更する場合に、Oracle Database 11gリリース1(11.1)の新規データベースにも同じ変更を加える必要があります。

最も重要なことは、エクスポート/インポート操作の結果として、新しいデータベースが作成されることです。現行のデータベースには最終的に指定したデータのコピーが含まれますが、アップグレードしたデータベースは、元のデータベースとは異なる方法で運用される場合があります。たとえば、エクスポート/インポート操作によってデータベースと同一のコピーを作成しても、データのディスク配置やチューニング・パラメータの解除など、その他の要素が予期しないパフォーマンスの劣化につながることがあります。

エクスポート/インポートのメリット

エクスポート/インポートを使用したアップグレードには、次のようなメリットがあります。

エクスポート/インポートの時間要件

エクスポート/インポートを使用するデータベース全体のアップグレードは、DBUAを使用する場合または手動アップグレードを実行する場合と比較して、時間が長くかかる場合があります。したがって、ピーク時を外してアップグレードするようにスケジュールするか、またはアップグレード中に現行のデータベースに対して行われた変更を新しいデータベースに反映させる準備が必要です。

参照:

第7章「データ・ポンプとエクスポート/インポートによるデータの移動」 

Oracleホーム・ディレクトリの選択

Oracle Database 11gリリース1(11.1)に、現行のリリースのOracleホーム・ディレクトリとは別のOracleホーム・ディレクトリを選択する必要があります。 Oracle Database 11gリリース1(11.1)のパッチ・セット・リリースをインストールしないかぎり、新しいソフトウェアを現行のリリースと同じOracleホーム・ディレクトリにインストールすることはできません。 パッチ・セット・リリースの場合、Oracle Database 11gリリース1(11.1)と同じOracleホームを使用できます。

別のインストール・ディレクトリを使用すると、既存のソフトウェアをインストールしたままで、新しいソフトウェアを使用できます。この方法によって、本番環境全体を置き換える前にテスト・データベース上でアップグレード処理をテストできます。

テスト計画の作成

アップグレード処理のすべての段階を検証するために、一連のテストを慎重に設計する必要があります。緻密なテストを正常に完了できれば、本番データベースのアップグレード処理を十分に理解し、予測できるようになり、アップグレード処理の成功が確実になります。本番データベースをアップグレードする前に、できるだけ多くのテストを実行してください。テスト計画は、非常に重要です。

データベース・リプレイやSQLパフォーマンス・アナライザなどのReal Applicationのテスト機能を使用するか、または手動でテストを実行するかに関係なく、テスト・プランには次のタイプのテストを含める必要があります。

アップグレード・テスト

アップグレード・テストでは、DBUAの使用、手動アップグレードの実行、エクスポート/インポートまたはその他のデータのコピー方法を使用するかに関係なく、現行のソフトウェアからOracle Database 11gリリース1(11.1)へのアップグレード・パスを計画およびテストする必要があります。どのアップグレード方法を選択する場合でも、アップグレード計画を作成、テストおよび検証する必要があります。

最小テスト

最小テストでは、現行のデータベースからアプリケーションの全部または一部を新しいデータベースに移動し、データベースの新機能を使用可能にしないでアプリケーションを実行します。最小テストでは、実際の本番環境で発生するような問題が検出されない場合があります。ただし、アプリケーションの起動または呼出しに関する問題がある場合は、すぐに検出されます。

機能テスト

機能テストとは、システムの新機能と既存機能をアップグレード後にテストする一連のテストです。機能テストには、すべてのデータベース、ネットワーキングおよびアプリケーション・コンポーネントのテストが含まれます。機能テストの目的は、システムの各コンポーネントがアップグレード前と同様に機能し、新機能が正常に動作していることを検証することです。

統合テスト

統合テストでは、システムのコンポーネント間で相互作用をテストします。統合テストを計画するときは、次のことを考慮する必要があります。

パフォーマンス・テスト

新しいデータベースのパフォーマンス・テストでは、新しいデータベースでの様々なSQL文のパフォーマンスを、現行データベースでの同じ文のパフォーマンスと比較します。アップグレードする前に、現行データベースでのアプリケーションのパフォーマンス・プロファイルを理解する必要があります。特に、アプリケーションがデータベース・サーバーに対して実行するコールを理解する必要があります。

この項では、次のようなパフォーマンス・テストについて説明します。

データベース・リプレイ

Oracle Database 11gリリース1(11.1)より、新しいデータベース・リプレイ機能を使用して、本番データベースを実際にアップグレードする前に、ユーザーの本番ワークロード上でデータベースをアップグレードする現実的なテストを実行できるようになりました。この機能は、本番システム上で実際のデータベースのワークロードを取得して、これをテスト・システム上でリプレイします。たとえば、発生する可能性があるエラーやパフォーマンスの相違などの主要な問題の分析およびレポートの作成も行います。さらに、ADDM、AWRおよびASHなど、定期的なパフォーマンスの監視およびレポート作成ツールをすべて自由に使用して、問題を修正できます。


注意:

データベース内のストアド・プロシージャのロジックは変更できますが、アプリケーション・ロジックを実装しているストアドPL/SQLプロシージャでは、アップグレード前と同じインスターフェースを維持する必要があります。アプリケーションのストアド・プロシージャがアップグレードによって影響を受ける場合は、ワークロードをリプレイできない場合があります。このようにデータベース・リプレイ・ツールを使用すると、サーバー内の新しいアプリケーション・ロジックがアップグレード後にも期待どおりに動作するかどうかを確認でき、有効な診断が行えます。 


参照:

ワークロードの取得およびリプレイの方法については、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

SQLパフォーマンス・アナライザ

Oracle Database 11gリリース1(11.1)より、SQLパフォーマンス・アナライザを使用して、システムの変更がSQLワークロードに及ぼす影響を予測できるようになりました。SQLパフォーマンス・アナライザでは、アップグレードによって影響を受けたSQL文を識別してパフォーマンスの相違を測定することで、データベースのアップグレードなどの変更による影響を予測できます。これにより、アップグレードによるSQLパフォーマンスに対する全体的な影響を評価し、悪い結果をユーザーが影響を受ける前に回避できます。

参照:

潜在的なデータベース変更のWhat-if分析にSQLパフォーマンス・アナライザを使用した詳細および例は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

SQL計画管理

新しいオプティマイザ・バージョンをインストールするデータベース・アップグレードでは、通常、SQL文に対して若干の計画変更がありますが、ほとんどの計画変更ではパフォーマンスは変化しません。ただし、ある一部の計画変更では、パフォーマンスが低下する場合があります。

SQL計画管理では、SQL計画の情報を取得、選択および展開するためのコンポーネントを提供することで、SQL文の実行計画が急に変更された場合に起こるパフォーマンスの低下を回避できます。

SQL計画管理を使用すると、オプティマイザによって実行計画が自動的に管理され、既知の計画または検証済の計画のみが使用されます。SQL文に対する新しい計画が検出されても、その計画が現行の計画と同等かそれ以上のパフォーマンスであることがデータベースによって確認されるまでは使用されません。つまり、SQL計画管理を現行(11gよりも前)の実行計画でシードすると、これらは各文のSQL計画のベースラインになり、これらの計画は、アップグレード後に使用されます。 異なる計画を使用する必要があると11gオプティマイザが判断した場合でも、新しい計画は検証のためにキューに格納され、現行の計画と同等かそれ以上のパフォーマンスを実現できる計画であることが確認されるまでは、使用されません。

SQL管理ベース(SMB)を実行計画にシードまたは移入するには、次の2つの方法があります。

実行計画またはSQL計画ベースラインのバルク・ロードは、データベースを以前のバージョンからOracle Database 11gにアップグレードする場合に特に役立ちます。バルク・ロードされるSQL計画は、自動的にそのまま使用され、SQL計画ベースラインとして既存または新規の計画履歴に追加されます。 次のいずれかの方法で、アップグレードの一部としてSQL管理ベースをバルク・ロードします。

SQLチューニング・セット(STS)を使用したSQL管理ベースのバルク・ロード

次の手順を実行し、STSの実行計画を使用してSQL管理ベースをバルク・ロードします。

  1. Oracle Database 10gリリース2で、各SQL文の実行計画を含むSTSを作成します。

  2. STSをステージング表にロードし、ステージング表をダンプ・ファイルにエクスポートします。

  3. ステージング表をダンプ・ファイルからOracle Database 11gにインポートし、STSをアンロードします。

  4. Oracle Enterprise ManagerまたはDBMS_SPM.LOAD_PLANS_FROM_SQLSETを使用して、実行計画をSQL管理ベースにロードします。

ステージング表からの既存のSQL計画ベースラインの展開

次の手順を実行し、すべての重要なSQL問合せをOracle Database 11gのテスト環境でテストおよびチューニングしてから、その正確なSQL実行計画をOracle Database 11gの本番環境に移動します。

  1. Oracle Database 11gのテスト環境で、すべてのテストとチューニングを完了してから、DBMS_SPM.LOAD_PLAN_FROM_CURSOR_CACHEプロシージャまたはEnterprise Managerを使用して、カーソル・キャッシュ内の実行計画をすべてSQL管理ベースにロードします。

  2. DBMS_SPM.CREATE_STGTAB_BASELINEプロシージャを使用して、ステージング表を作成します。

  3. DBMS_SPM.PACK_STGTAB_BASELINEファンクションを使用して、手順1で作成したSQL計画ベースラインをステージング表に格納します。

  4. エクスポート・コマンドまたはデータ・ポンプを使用して、ステージング表をフラット・ファイルにエクスポートします。

  5. このフラット・ファイルをターゲット・システムに転送します。

  6. インポート・コマンドまたはデータ・ポンプを使用して、フラット・ファイルからステージング表をインポートします。

  7. DBMS_SPM.UNPACK_STGTAB_BASELINEファンクションを使用して、ステージング表からターゲット・システムのSQL管理ベースにSQL計画ベースラインを展開します。

    参照:

    SQL計画管理の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

ボリューム/ロード・ストレス・テスト

ボリューム/ロード・ストレス・テストでは、アップグレードしたデータベース全体を、大きいボリュームとロードでテストします。ボリュームとは、操作されるデータの量を表します。ロードとは、システム上の同時要求のレベルを表します。ボリューム/ロード・ストレス・テストの目的は、様々なボリュームとロードでの本番システムの動作をエミュレートすることです。

ボリューム/ロード・ストレス・テストは非常に重要ですが、一般に見過ごされがちです。ユーザーは、どのようなボリューム/ロード・ストレス・テストも実行しないことが多いようです。そのかわりに、ビジネス・アプリケーションを特に考慮しているわけではないベンチマークが広く利用されています。アプリケーションのベンチマークは、機能、パフォーマンスおよび統合に関する問題点を検証するために使用するものであり、ボリューム/ロード・ストレス・テストのかわりになるものではありません。

ロード・テストには、本番稼働時に発生する可能性のあるロード条件で新しいエラーやパフォーマンス上の問題などがアプリケーションに発生しないことを確認するため、新バージョンのデータベースに対するアプリケーション・ロードの実行を含みます。多くの場合、問題は特定のロード条件で明らかになるため、通常、機能テストでは見つかりません。データベース・リプレイ機能は、本番環境のシステム・ワークロードを取得し、テスト・システム上で同一形式でリプレイできるため、このようなロード・テストに最適です。

バックアップ計画の準備

アップグレードが最終的に成功するかどうかは、適切なバックアップ計画の立案と実行で決まります。バックアップ計画を展開するには、次のような問題について考慮する必要があります。

バックアップ計画は、これらの問題のすべてに答え、データベースを正常にバックアップおよびリカバリするための手順を備えている必要があります。

参照:

データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 

アップグレード処理のテスト

現行の本番データベースに影響しないテスト環境を作成します。テスト環境は、選択したアップグレード方法によって異なります。

テスト環境を使用してデータベースのアップグレードを行います。最適なアップグレードのテストとは、ダウンサイズしたコピーまたはテスト・データに対してではなく、アップグレードするデータベースの正確なコピーに対して実行することです。


注意:

このデータベースのテスト・サブセットを正常にアップグレードして、次の手順で説明するアプリケーションでテストするまでは、実際の本番データベースをアップグレードしないでください。 


新しいOracle Databaseで使用するOCIとプリコンパイラ・アプリケーションを、必ずアップグレードしてください。それによって、現行の本番データベースをアップグレードする前に、それらのアプリケーションをサンプルのデータベースでテストできます。 詳細は、「プリコンパイラおよびOCIアプリケーションのアップグレード」を参照してください。

アップグレードしたテスト・データベースのテスト

現行のデータベースおよびOracle Database 11gリリース1(11.1)へアップグレードされたテスト・データベースに対して、計画したテストを実行します。結果を比較し、相違点を記録します。必要に応じて、アップグレードのテストを繰り返します。

新しいOracle Databaseで既存のアプリケーションが正常に動作するかを確認するために、この新しくアップグレードされたテスト・データベースをテストします。 また、利用可能なOracle Databaseの機能を追加して、機能拡張についてもテストします。ただし、アプリケーションが現行のデータベースの場合と同様に動作するかを最初に確認してください。

参照:

Oracle Databaseでのアプリケーションの使用方法の詳細は、第5章「アプリケーションのアップグレード」を参照してください。 


戻る 次へ
Oracle
Copyright © 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引