別のシステムへの自動ワークロード・リポジトリ・データの転送

Oracle Databaseでは、システム間でAWRデータを転送できます。これは、別のシステムを使用してAWRデータの分析を実行し、本番システムのパフォーマンス分析によるオーバーヘッドを削減する場合に有効です。

システム間でAWRデータを転送するには、最初にソース・システムのデータベースからAWRデータをエクスポートし、次にそのデータをターゲット・システムのデータベースにインポートします。

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

AWRデータのエクスポート

awrextr.sqlスクリプトは、一定範囲のスナップショットに対応するAWRデータをデータベースからデータ・ポンプ・エクスポート・ファイルにエクスポートします。作成されたら、エクスポートしたAWRデータをインポートできる別のデータベースに、このダンプ・ファイルを転送できます。awrextr.sqlスクリプトを実行するには、SYSユーザーとしてデータベースに接続する必要があります。

AWRデータをエクスポートするには:

  1. SQLプロンプトで次のように入力します。

    @$ORACLE_HOME/rdbms/admin/awrextr.sql
    

    AWRスキーマのデータベースのリストが表示されます。

  2. AWRデータをエクスポートするデータベースを指定します。

    Enter value for db_id: 1377863381
    

    この例では、1377863381というデータベース識別子を持つデータベースが指定されます。

  3. すべてのスナップショットIDを表示する日数を指定します。

    Enter value for num_days: 2
    

    この例では、最近2日間に取得されたすべてのスナップショットが表示されます。

  4. 最初と最後のスナップショットIDを指定して、AWRデータをエクスポートするスナップショットの範囲を定義します。

    Enter value for begin_snap: 30
    Enter value for end_snap: 40
    

    この例では、スナップショットID 30が最初のスナップショットとして指定され、スナップショットID 40が最後のスナップショットとして指定されます。

    ディレクトリ・オブジェクトのリストが表示されます。

  5. エクスポート・ダンプ・ファイルを保存するディレクトリを示すディレクトリ・オブジェクトを指定します。

    Enter value for directory_name: DATA_PUMP_DIR
    

    この例では、ディレクトリORACLE_HOME/rdbms/logを指すディレクトリ・オブジェクトDATA_PUMP_DIRが指定されています。ORACLE_HOME/u01/app/oracle/product/database_release_number/dbhome_1です。

  6. エクスポート・ダンプ・ファイルの名前をファイル拡張子なしで指定します。デフォルトでは、ファイル拡張子.dmpが使用されます。

    Enter value for file_name: awrdata_30_40
    

    この例では、awrdata_30_40.dmpという名前のエクスポート・ダンプ・ファイルが、ディレクトリ・オブジェクトDATA_PUMP_DIRで指定されたディレクトリに作成されます。

    Dump file set for SYS.SYS_EXPORT_TABLE_01 is:
    /u01/app/oracle/product/database_release_number/dbhome_1/rdbms/log/awrdata_30_40.dmp
    Job "SYS"."SYS_EXPORT_TABLE_01" successfully completed at 08:58:20
    

    エクスポートする必要のあるAWRデータの分量によっては、AWRエクスポート操作の完了までにしばらく時間がかかる場合があります。ダンプ・ファイルが作成されたら、データ・ポンプを使用してそのファイルを別のシステムに転送できます。

関連項目:

データ・ポンプの使用については、『Oracle Databaseユーティリティ』を参照してください。

AWRデータのインポート

エクスポート・ダンプ・ファイルをターゲット・システムに転送したら、awrload.sqlスクリプトを使用してエクスポートされたAWRデータをインポートします。awrload.sqlスクリプトにより、スナップショット・データをデータ・ポンプ・ファイルからデータベースに転送するためのステージング・スキーマが作成されます。次に、データはステージング・スキーマから適切なAWR表に転送されます。awrload.sqlスクリプトを実行するには、SYSユーザーとしてデータベースに接続する必要があります。

AWRデータをインポートするには:

  1. SQLプロンプトで次のように入力します。

    @$ORACLE_HOME/rdbms/admin/awrload.sql
    

    ディレクトリ・オブジェクトのリストが表示されます。

  2. エクスポート・ダンプ・ファイルが含まれるディレクトリを示すディレクトリ・オブジェクトを指定します。

    Enter value for directory_name: DATA_PUMP_DIR
    

    この例では、エクスポート・ダンプ・ファイルが存在するディレクトリを指すディレクトリ・オブジェクトDATA_PUMP_DIRが指定されています。

  3. エクスポート・ダンプ・ファイルの名前をファイル拡張子なしで指定します。デフォルトでは、ファイル拡張子.dmpが使用されます。

    Enter value for file_name: awrdata_30_40
    

    この例では、awrdata_30_40.dmpという名前のエクスポート・ダンプ・ファイルが選択されています。

  4. AWRデータは、まず現行ユーザーの一連の一時表にインポートされ、次にSYSスキーマ内のAWR表に転送されます:

    Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    Completed 113 CONSTRAINT objects in 11 seconds
    Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    Completed 1 REF_CONSTRAINT objects in 1 seconds
    Job "SYS"."SYS_IMPORT_FULL_03" successfully completed at 09:29:30
    ... Dropping AWR_STAGE user
    End of AWR Load
    

    インポートする必要のあるAWRデータの分量によっては、AWRインポート操作の完了までにしばらく時間がかかる場合があります。AWRデータのインポート後に、それらの一時表は自動的に削除されます。