データベース・リプレイを使用すると、本番システムのワークロードを取得して、それを元のワークロードとまったく同じタイミング、同時実行性およびトランザクション特性に従ってテスト・システムでリプレイできます。 これによって、本番システムに影響を与えずに、システム変更の影響をテストできます。
データベース・リプレイでは、Oracle Database 10gリリース2以上のリリースが実行されているシステムでのワークロードの取得がサポートされています。 Oracle Database 10gリリース2が実行されているシステムでワークロードを取得するには、データベースのバージョンを10.2.0.4以上にします。 ワークロードのリプレイは、Oracle Database 11gリリース1以上のリリースが実行されているシステムでのみサポートされています。
注意: Oracle9i Databaseが実行されているシステムでワークロードの取得機能を使用する場合は、Oracleサポート・サービスに連絡してください。 |
データベース・リプレイを使用してシステム変更の影響を分析する場合は、図2-1に示す手順を実行します。
本番システムで、ワークロードを取得ファイルに取得します。詳細は、「ワークロードの取得」を参照してください。
取得ファイルをテスト・システムにコピーして事前処理します。詳細は、「ワークロードの事前処理」を参照してください。
テスト・システムで、事前処理済のファイルをリプレイします。詳細は、「ワークロードのリプレイ」を参照してください。
データベース・リプレイで生成されたレポートを使用して、ワークロードの取得およびワークロードのリプレイの両方を詳細に分析します。詳細は、「分析およびレポート」を参照してください。
データベース・リプレイを使用するための最初の手順は、本番ワークロードの取得です。ワークロードの取得には、外部クライアントからOracle Databaseに対するすべてのリクエストの記録が含まれます。
ワークロードの取得を有効にすると、Oracle Databaseに対するすべての外部クライアントのリクエストが追跡され、ファイル・システム上のバイナリ・ファイル(取得ファイル)に格納されます。 取得ファイルの格納場所は指定することができます。ワークロードの取得が開始されると、外部データベースのすべてのコールが取得ファイルに書き込まれます。取得ファイルには、クライアント・リクエストに関連するすべての情報(SQLテキスト、バインド値、トランザクション情報など)が含まれます。バックグラウンド・アクティビティおよびデータベース・スケジューラ・ジョブは取得されません。これらの取得ファイルは、プラットフォームに依存しないため、別のシステムに転送できます。
ワークロードを取得したら、取得ファイルの情報を事前処理する必要があります。 事前処理によって、取得したデータがリプレイ・ファイルに変換され、ワークロードのリプレイに必要なすべての必須メタデータが作成されます。事前処理は、取得したワークロードをリプレイする前に、ワークロードごとに1回行う必要があります。事前処理された取得済のワークロードは、同じバージョンのOracle Databaseが稼動するリプレイ・システムで繰り返しリプレイできます。通常、取得ファイルは、事前処理のために別のシステムにコピーする必要があります。ワークロードの事前処理は、時間がかかり、リソースを大量に消費するため、この手順はワークロードをリプレイするテスト・システムで実行することをお薦めします。
事前処理された取得済ワークロードは、テスト・システムでリプレイできます。 ワークロードのリプレイ・フェーズにおいて、Oracle Databaseは、取得したすべての外部クライアント・リクエストを本番システムと同じタイミング、同時実行性およびトランザクション依存性に従って再現し、ワークロードの取得フェーズ中に記録されたアクションをテスト・システム上で実行します。
データベース・リプレイでは、リプレイ・クライアントというクライアント・プログラムを使用して、ワークロードの取得時に記録されたすべての外部クライアント・リクエストを再現します。取得したワークロードによっては、そのワークロードを適切にリプレイするために1つ以上のリプレイ・クライアントが必要です。特定のワークロードに必要なリプレイ・クライアントの数を判定するための測定ツールが提供されています。 DMLやSQL問合せを含め、ワークロード全体がリプレイされるため、リプレイ・システムのデータは取得システムのデータとできるかぎり論理的に同じである必要があります。 これによって、データの相違が最小限に抑えられ、リプレイの分析の信頼性が向上します。
ワークロードのリプレイ後、ワークロードの取得とリプレイを詳しく分析するために、詳細なレポートが提供されます。
レポートのサマリーには、リプレイ中に発生したエラーや、DMLまたはSQL問合せによって戻された行におけるデータの相違など、ワークロードの取得およびリプレイに関する基本情報が含まれます。 ワークロードの取得とワークロードのリプレイを対象とする複数の統計(データベース時間、平均アクティブ・セッション、ユーザー・コールなど)の比較データも提供されます。高度な分析には、自動ワークロード・リポジトリ(AWR)・レポートを利用して、ワークロードの取得とワークロードのリプレイを対象とするパフォーマンス統計を詳細に比較することができます。これらのレポートで参照可能な情報は非常に詳細であり、ワークロードの取得とリプレイにおける相違点を検出できます。
アプリケーション・レベルの検証では、リプレイの全体的な成功を評価するためのスクリプトの開発を検討する必要があります。 たとえば、ワークロードの取得時に10,000のオーダーが処理される場合、同じ数のオーダーがリプレイ時にも処理されることを検証する必要があります。
リプレイの分析が完了したら、ワークロード・ディレクトリ・オブジェクトを別の物理的な場所にバックアップしてから、そのデータベースをワークロード取得時点の元の状態にリストアし、ワークロードのリプレイを繰り返して、システムに対する他の変更をテストすることができます。