この項では、別のオペレーション・システムで別のバージョンのOracle Databaseを実行している3つの別の本番システムのワークロードを統合するシナリオを仮定しています。
このシナリオでは、次を想定しています。
統合する最初のワークロードは、SolarisサーバーでOracle Database 10gリリース2(リリース10.2.0.4)を実行しているCRMシステムから取得します。
統合する2番目のワークロードは、LinuxサーバーでOracle Database 10gリリース2(リリース10.2.0.5)を実行しているERPシステムから取得します。
統合する3番目のワークロードは、SolarisサーバーでOracle Database 11gリリース2(リリース11.2.0.2)を実行しているSCMシステムから取得します。
テスト・システムは、Oracle Database 12c リリース1 (リリース12.1.0.1)を実行するマルチテナント・コンテナ・データベース(CDB)として設定されます。
CDBには、CRM、ERPおよびSCMで作成された3つのPDBが含まれています。
CDBに含まれる各PDBは、取得の開始時にCRM、ERPおよびSCMシステムのアプリケーション・データと同じ状態に復元されています。
図15-3は、そのシナリオを示しています。
このシナリオで、ワークロードを統合し統合ワークロードをリプレイするには、次の手順に従います。
テスト・システムで、個々のワークロード取得を別のディレクトリに前処理します。
CRMワークロードには、次を実行します。
ディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY crm AS '/u01/test/cap_crm';
CRMシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。
ワークロードを事前処理します。
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('CRM');
ERPワークロードには、次を実行します。
ディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY erp AS '/u01/test/cap_erp';
ERPシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。
ワークロードを事前処理します。
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('ERP');
SCMワークロードには、次を実行します。
ディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY scm AS '/u01/test/cap_scm';
SCMシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。
ワークロードを事前処理します。
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('SCM');
事前処理したワークロードを格納するルート・ディレクトリを作成します。
mkdir '/u01/test/cons_dir'; CREATE OR REPLACE DIRECTORY cons_workload AS '/u01/test/cons_dir';
事前処理した各ワークロード・ディレクトリをルート・ディレクトリにコピーします。
cp -r /u01/test/cap_crm /u01/test/cons_dir cp -r /u01/test/cap_erp /u01/test/cons_dir cp -r /u01/test/cap_scm /u01/test/cons_dir
各ワークロード用に、新しいオペレーティング・システムのディレクトリ・パスを使用して、ディレクトリ・オブジェクトを作成します。
CREATE OR REPLACE DIRECTORY crm AS '/u01/test/cons_dir/cap_crm'; CREATE OR REPLACE DIRECTORY erp AS '/u01/test/cons_dir/cap_erp'; CREATE OR REPLACE DIRECTORY scm AS '/u01/test/cons_dir/cap_scm';
手順2で作成したルート・ディレクトリをリプレイ・ディレクトリに設定します。
EXEC DBMS_WORKLOAD_REPLAY.SET_REPLAY_DIRECTORY ('CONS_WORKLOAD');
リプレイ・スケジュールを作成し、ワークロード取得を追加します。
EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE ('CONS_SCHEDULE'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('CRM') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('ERP') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('SCM') FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
統合リプレイを初期化します。
EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY ('CONS_REPLAY', 'CONS_SCHEDULE');
接続を再マッピングします。
DBA_WORKLOAD_CONNECTION_MAP
ビューに接続マッピング情報を問い合せます。
SELECT schedule_cap_id, conn_id, capture_conn, replay_conn FROM dba_workload_connection_map;
接続を再マッピングします。
EXEC DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION (schedule_cap_id => 1, conn_id => 1, replay_connection => 'CRM'); EXEC DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION (schedule_cap_id => 2, conn_id => 1, replay_connection => 'ERP'); EXEC DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION (schedule_cap_id => 3, conn_id => 1, replay_connection => 'SCM');
replay_connection
パラメータは、テスト・システムに定義したサービスを示します。
接続の再マッピングを確認します。
SELECT schedule_cap_id, conn_id, capture_conn, replay_conn FROM dba_workload_connection_map;
統合リプレイを準備します。
EXEC DBMS_WORKLOAD_REPLAY.PREPARE_CONSOLIDATED_REPLAY ( synchronization => 'OBJECT_ID');
リプレイ・クライアントを起動します。
必要なリプレイ・クライアントの数を見積もります。
wrc mode=calibrate replaydir=/u01/test/cons_dir/cap_crm wrc mode=calibrate replaydir=/u01/test/cons_dir/cap_erp wrc mode=calibrate replaydir=/u01/test/cons_dir/cap_scm
必要なリプレイ・クライアントの数を判断するために出力を追加します。
統合したワークロードに含まれるワークロード取得ごとに、最低1つのリプレイ・クライアントを開始する必要があります。
このコマンドを繰り返し、必要な数のリプレイ・クライアントを起動します。
wrc username/password mode=replay replaydir=/u01/test/cons_dir
replaydir
パラメータは、ワークロード取得が格納されているルート・ディレクトリに設定されています。
統合リプレイを開始します。
EXEC DBMS_WORKLOAD_REPLAY.START_CONSOLIDATED_REPLAY;
関連項目:
CDBの構成の詳細は、『Oracle Database管理者ガイド』を参照してください。
PDBの作成の詳細は、『Oracle Database管理者ガイド』を参照してください。