すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:定期的なSQLコレクション

最終更新日:Jan 22, 2025

このトピックでは、OracleデータベースのSQL情報を定期的に収集し、収集したSQL情報を分析する方法について説明します。

前提条件

Oracleデータベースのエンジンバージョンは、10g、11g、または12cです。

背景情報

定期的なSQLコレクションを使用すると、Oracleデータベースのカスタムコレクション期間を指定し、収集したSQL情報をマージできます。
説明 オフラインコレクターを使用してのみ、定期的なSQL収集を実行できます。 したがって、最初にOracleデータベースのSQL情報を自分で収集する必要があります。 詳細については、このトピックの「SQL情報の収集」を参照してください。

ワークフロー

  1. SQL情報を収集します。
    説明 オフラインコレクターを使用してのみ、定期的なSQL収集を実行できます。
  2. 収集したSQL情報を分析します。
    説明 定期収集プロジェクトを作成し、収集したデータファイルをアップロードできます。 その後、システムは収集されたSQL情報を自動的にマージして分析します。 詳細については、このトピックの「収集されたSQL情報の分析」を参照してください。

SQL情報の収集

  1. データベースコレクターをダウンロードします。
    1. にログインします。 データ管理 (DMS) コンソールV5.0
    2. 上部のナビゲーションバーで、ポインタをDTSの上に移動します。 [異種データベース移行 (ADAM)] > [Migration Lab] を選択します。
    3. [定期的なSQLコレクション] セクションで、[ダウンロード] をクリックします。
    4. [データベースコレクターのダウンロード] ページで、[データベースコレクターのダウンロード] セクションの [ダウンロード] をクリックします。
    5. データベースコレクターのバージョンを選択します。 表示されるダイアログボックスで、契約書を読み、[同意] をクリックします。
      説明
      • データベースコレクターは、次のランタイム環境要件を満たす必要があります。
        • データベースコレクターのホストは、ソースOracleデータベースからアクセスできます。 データベースコレクターは、ソースOracleデータベースのホストにインストールされている必要はありません。
        • メモリは6 GBより大きく、ディスク容量は50 GBより大きいです。
      • ソースデータベーススキーマが収集されると、データベースコレクターは機密データを自動的にマスクします。
      • ソースデータベーススキーマが収集されると、データベースコレクターはターゲットデータベースの負荷を自動的に監視します。 負荷が特定の制限を超えると、収集は自動的に中断されます。 負荷が限界を下回った後、収集が再開される。
  2. ソースOracleデータベースにログインします。 SYSDBA権限を持つアカウントを使用して一時アカウントを作成し、一時アカウントに権限を付与します。
    説明
    • 次の権限を持つアカウントを既にお持ちの場合は、この手順をスキップしてください。
    • 次の権限は、Oracleデータベースへの接続に使用されます。 これらの権限がある場合は、データベース情報を収集、マスク、およびエクスポートできます。
    • ソースOracleデータベースのエンジンバージョンが10g、11g、または12cの場合、非CDBアーキテクチャでローカルユーザーを作成します。
      -- eoa_userという名前のアカウントを作成し、パスワードをeoaPASSSW0RDに設定します。
      「eoaPASSW0RD」デフォルトのテーブルスペースユーザーによって識別されるユーザーeoa_userを作成します。-- クエリ権限を付与します。
      接続、リソース、select_catalog_roleを付与し、eoa_userに任意の辞書を選択します。-- DBMS_LOGMNR権限を付与します。 
      -ソースOracleデータベースのエンジンバージョンが10gの場合、最初に次のステートメントを実行します。パブリックSYNONYM dbms_logmnrの作成または置き換えsys.dbms_logmnr;
      eoa_userにDBMS_LOGMNRの実行を許可します。-- DBMS_METADATA権限を付与します。
      eoa_userにdbms_metadataの実行を許可します。-- トランザクションを照会する権限を付与します。
      eoa_userに任意のトランザクションを選択します。-- テーブルを分析する権限を付与します。
      eoa_userに任意の分析を付与します。-- 乱数を生成する権限を付与します。
      eoa_userにdbms_randomの実行を許可します。
    • ソースOracleデータベースのエンジンバージョンが12cの場合は、Oracle 12cコンテナ・データベース (CDB) に接続して、共通ユーザーを作成します。
      「eoaPASSW0RD」デフォルトのテーブルスペースユーザーによって識別されるユーザーc##eoa_userを作成します。接続、リソース、select_catalog_roleを付与し、任意の辞書をc##eoa_user container=allに選択します。DBMS_LOGMNRの実行をc##eoa_user container=allに付与します。dbms_metadataの実行をc##eoa_user container=allに付与します。c##eoa_user container=allに任意のテーブルを選択します。c##eoa_user container=allへのトランザクションの選択を許可します。c##eoa_user container=allに任意の分析を付与します。dbms_randomの実行をc##eoa_user container=allに付与します。alter user c##eoa_user set container_data=all container=current; 
  3. 収集を開始します。 Windows環境で、を実行します。batファイル。 Linux環境で、を実行します。shファイル。 この例では、Linux環境が使用されています。
    • ソースOracleデータベースのエンジンバージョンが10gまたは11gの場合、次のいずれかのコマンドを実行します。
      sh collect_10g_cycle.sh -h <ip> -u <username> -p <password> -d <service_name> -c <cron>
      sh collect_11g_cycle.sh -h <ip> -u <username> -p <password> -d <service_name> -c <cron>
      ouput
    • ソースOracleデータベースのエンジンバージョンが12cの場合、次のコマンドを実行します。
      sh collect_12c_cycle.sh -h <ip> -u <username> -p <password> -d <service_name> -s <sid> -c <cron>
      output1
    説明 パラメーターの説明:
    • -h: 必須。 ソースデータベースのIPアドレス。
    • -u: 必須。 収集を実行するデータベースアカウント。
    • -p: 必須です。 データベースアカウントのパスワードを設定します。
    • -d: 必須です。 ソースデータベースのサービス名。
    • -s: Oracle 12cデータベースにのみ必要です。 ソースデータベースが作成されたインスタンスのID。
    • -c: 必須です。 収集期間を指定するために使用されるcron式。 形式: second minute hour day month week [year]

    定期的な収集は、cron式で指定された間隔で機能します。 次の表に、一般的なcron式の例を示します。 収集プロセスをいつでも終了することで、収集を停止できます。

    説明
    0 */1 * * *?1分ごとにデータを収集します。
    0 0 5-15 * *?毎日1時間の5:00から15:00までのデータを収集します。
    0 0/3 * * *?3分ごとにデータを収集します。
    0 0-5 14 * *?毎日14:00から14:05まで1分ごとにデータを収集します。
    0 0/5 14 * *?毎日14:00から14:55まで5分ごとにデータを収集します。
    0 0/5 14,18 * *?毎日14:00から14:55までと18:00から18:55まで5分ごとにデータを収集します。
    0 0/30 9-17 * *?毎日9:00から17:00まで30分ごとにデータを収集します。
    0 10,14,16 * *?毎日10:00、14:00、16:00にデータを収集します。
    0 0 12? * WED毎週水曜日の12:00にデータを収集します。
    0 0 17? * チューブ、THUR、SAT毎週火曜日、木曜日、土曜日の17:00にデータを収集します。
    0 10,44 14? 3 WED毎年3月の毎週水曜日の14:10と14:44にデータを収集します。
    0 15 10? * MON-FRI月曜日から金曜日の10:15にデータを収集します。
    0 0 23 L *?毎月最終日の23:00にデータを収集します。
    0 15 10 L *?毎月最終日の10:15にデータを収集します。
    0 15 10? * 6L毎月最終金曜日の10:15にデータを収集します。
    0 15 10 * *? 20212021で毎日10:15にデータを収集します。
    0 15 10? * 6L 2021-20252021から2025まで毎月最終金曜日の10:15にデータを収集します。
    0 15 10? * 6#3毎月第3金曜日の10:15にデータを収集します。
  4. コレクション結果をエクスポートします。
    収集が完了すると、圧縮ファイルを生成するように求められます。 サンプルログファイル:
    [***] ******************************************************************
    [***] * 正常に収集!
    [***] *
    [***] * ファイルのパッケージングを完了すると、パッケージの結果パスは次のとおりです。[***] * ~ rainmeter/out/data.zip ****************************************************************** 

収集したSQL情報の分析

  1. にログインします。 データ管理 (DMS) コンソールV5.0
  2. 上部のナビゲーションバーで、ポインタをDTSの上に移動します。 [異種データベース移行 (ADAM)] > [Migration Lab] を選択します。
  3. [Migration Lab] ページで、[Periodic SQL Collection] セクションの [詳細] をクリックします。
  4. [プロジェクトの作成] をクリックします。
  5. [プロジェクトの作成] パネルで、[プロジェクト名] を指定し、[タイプ] を [Oracle] に設定します。 次に、[アップロード] をクリックし、生成されたout/data.zipファイルを選択します。
  6. [作成] をクリックします。
  7. プロジェクトを見つけ、[操作] 列の [詳細] をクリックして、収集結果を表示します。
    説明 [宛先SQL] 列の [表示] をクリックすると、特定のSQL情報のエラー分析を表示できます。