プライマリ・コンテンツに移動
Oracle® Database Testingガイド
12cリリース1 (12.1)
B71349-07
目次へ移動
目次
索引へ移動
索引

前
次

15.6 例: APIを使用した統合済ワークロードのリプレイ

この項では、別のオペレーション・システムで別のバージョンの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は、そのシナリオを示しています。

図15-3 3つのワークロードを統合するシナリオ

図15-3の説明が続きます
「図15-3 3つのワークロードを統合するシナリオ」の説明

このシナリオで、ワークロードを統合し統合ワークロードをリプレイするには、次の手順に従います。

  1. テスト・システムで、個々のワークロード取得を別のディレクトリに前処理します。

    • CRMワークロードには、次を実行します。

      1. ディレクトリ・オブジェクトを作成します。

        CREATE OR REPLACE DIRECTORY crm AS '/u01/test/cap_crm';
        
      2. CRMシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。

      3. ワークロードを事前処理します。

        EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('CRM');
        
    • ERPワークロードには、次を実行します。

      1. ディレクトリ・オブジェクトを作成します。

        CREATE OR REPLACE DIRECTORY erp AS '/u01/test/cap_erp';
        
      2. ERPシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。

      3. ワークロードを事前処理します。

        EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('ERP');
        
    • SCMワークロードには、次を実行します。

      1. ディレクトリ・オブジェクトを作成します。

        CREATE OR REPLACE DIRECTORY scm AS '/u01/test/cap_scm';
        
      2. SCMシステムから取得したワークロードがこのディレクトリに格納されていることを確認します。

      3. ワークロードを事前処理します。

        EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('SCM');
        
  2. 事前処理したワークロードを格納するルート・ディレクトリを作成します。

    mkdir '/u01/test/cons_dir';
    CREATE OR REPLACE DIRECTORY cons_workload AS '/u01/test/cons_dir';
    
  3. 事前処理した各ワークロード・ディレクトリをルート・ディレクトリにコピーします。

    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
    
  4. 各ワークロード用に、新しいオペレーティング・システムのディレクトリ・パスを使用して、ディレクトリ・オブジェクトを作成します。

    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';
    
  5. 手順2で作成したルート・ディレクトリをリプレイ・ディレクトリに設定します。

    EXEC DBMS_WORKLOAD_REPLAY.SET_REPLAY_DIRECTORY ('CONS_WORKLOAD');
    
  6. リプレイ・スケジュールを作成し、ワークロード取得を追加します。

    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;
    
  7. 統合リプレイを初期化します。

    EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY ('CONS_REPLAY',
         'CONS_SCHEDULE');
    
  8. 接続を再マッピングします。

    1. DBA_WORKLOAD_CONNECTION_MAPビューに接続マッピング情報を問い合せます。

      SELECT schedule_cap_id, conn_id, capture_conn, replay_conn
        FROM dba_workload_connection_map;
      
    2. 接続を再マッピングします。

      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パラメータは、テスト・システムに定義したサービスを示します。

    3. 接続の再マッピングを確認します。

      SELECT schedule_cap_id, conn_id, capture_conn, replay_conn
        FROM dba_workload_connection_map;
      
  9. 統合リプレイを準備します。

    EXEC DBMS_WORKLOAD_REPLAY.PREPARE_CONSOLIDATED_REPLAY (
         synchronization => 'OBJECT_ID');
    
  10. リプレイ・クライアントを起動します。

    1. 必要なリプレイ・クライアントの数を見積もります。

      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
      
    2. 必要なリプレイ・クライアントの数を判断するために出力を追加します。

      統合したワークロードに含まれるワークロード取得ごとに、最低1つのリプレイ・クライアントを開始する必要があります。

    3. このコマンドを繰り返し、必要な数のリプレイ・クライアントを起動します。

      wrc username/password mode=replay replaydir=/u01/test/cons_dir
      

      replaydirパラメータは、ワークロード取得が格納されているルート・ディレクトリに設定されています。

  11. 統合リプレイを開始します。

    EXEC DBMS_WORKLOAD_REPLAY.START_CONSOLIDATED_REPLAY;
    

関連項目:

  • CDBの構成の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • PDBの作成の詳細は、『Oracle Database管理者ガイド』を参照してください。