この項では、アプリケーションにインスタンスを複数デプロイした場合にホストで発生する可能性のあるボトルネックを特定するためにスキーマの再マッピングを使用するシナリオを想定し、データベース統合リプレイでスキーマの再マッピングを使用する方法を説明します。このシナリオでは、スケールアップ・テストでスキーマの再マッピングを使用する方法を説明します。スキーマの再マッピングの詳細は、「スキーマの再マッピングについて」を参照してください。
このシナリオでは、次を想定しています。
営業アプリケーションから取得したワークロードが1つあります。
営業スキーマの複数のスキーマをリプレイ・システムに設定するために、取得したワークロードを複数回リプレイ・スケジュールに追加してユーザーを別のスキーマに再マッピングします。
このシナリオでスキーマの再マッピングを実行するには、次の手順を実行します。
スケールアップ・テストを実行する計画のあるリプレイ・システムで、取得したワークロードが保存されているルート・ディレクトリにディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY cons_dir AS '/u01/test/cons_dir';
取得したワークロードが保存されているディレクトリにディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY cap_sales AS '/u01/test/cons_dir/cap_sales';
営業アプリケーションから取得したワークロードがこのディレクトリに格納されていることを確認します。
取得したワークロードを事前処理します。
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('CAP_SALES');
ルート・ディレクトリをリプレイ・ディレクトリに設定します。
EXEC DBMS_WORKLOAD_REPLAY.SET_REPLAY_DIRECTORY ('CONS_DIR');
リプレイ・スケジュールを作成し、取得したワークロードを複数回追加します。
EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE ('double_sales_schedule'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('CAP_SALES') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('CAP_SALES') FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
統合リプレイを初期化します。
EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY ( 'double_sales_replay', 'double_sales_schedule);
ユーザーを再マッピングします。
EXEC DBMS_WORKLOAD_REPLAY.SET_USER_MAPPING (2, 'sales_usr', 'sales_usr_2');
統合リプレイを準備します。
EXEC DBMS_WORKLOAD_REPLAY.PREPARE_CONSOLIDATED_REPLAY;
リプレイ・クライアントを起動します。
必要なリプレイ・クライアントの数を見積もります。
wrc mode=calibrate replaydir=/u01/test/cons_dir/cap_sales
必要なリプレイ・クライアントの数を判断するために出力を追加します。
統合したワークロードに含まれるワークロード取得ごとに、最低1つのリプレイ・クライアントを開始する必要があります。
このコマンドを繰り返し、必要な数のリプレイ・クライアントを起動します。
wrc username/password mode=replay replaydir=/u01/test/cons_dir
replaydir
パラメータは、ワークロード取得が格納されているルート・ディレクトリに設定されています。
統合リプレイを開始します。
EXEC DBMS_WORKLOAD_REPLAY.START_CONSOLIDATED_REPLAY;