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

前
次

13.2.2 APIを使用したワークロードのリプレイ・レポートの生成

DBMS_WORKLOAD_REPLAYパッケージを使用してワークロードのリプレイ・レポートを生成できます。また、「Enterprise Managerを使用したワークロード・リプレイ・レポートへのアクセス」で説明されているように、Oracle Enterprise Managerを使用してワークロード・リプレイ・レポートを生成することも可能です。

APIを使用してワークロードの取得に対する最新のワークロードのリプレイ・レポートを生成するには、次の手順を実行します。

  1. 「ワークロード・リプレイに関する情報の取得」で説明されているように、ワークロードの取得、およびDBMS_WORKLOAD_REPLAY.GET_REPLAY_INFOファンクションをコールすることによる、リプレイ・ディレクトリ・オブジェクトからのワークロード・リプレイ試行の履歴に関する情報を取得します。

    GET_REPLAY_INFOファンクションは1つのキャプチャ・ディレクトリのcap_idを戻します(統合キャプチャ・ディレクトリの場合、戻されるcap_idは0です)。

  2. GET_REPLAY_INFOファンクションにより戻されるcap_idを使用して、問合せを実行し、ワークロードの最新のリプレイの適切なrep_idを戻します。

  3. DBMS_WORKLOAD_REPLAY.REPORTファンクションをコールします。

    REPORTファンクションは、SELECT文によって戻されたrep_idを使用してレポートを生成します。

    REPORTファンクションでは、次のパラメータを使用します。

    • replay_id: レポートが生成されるワークロードのリプレイを含むディレクトリを指定する必須パラメータ。このディレクトリは、ワークロードのリプレイを含むホスト・システム内の有効なディレクトリである必要があります。このパラメータの値は、前の問合せで戻されたrep_idと一致する必要があります。

    • format: レポートの形式を指定する必須パラメータ。有効な値は、DBMS_WORKLOAD_REPLAY.TYPE_TEXTDBMS_WORKLOAD_REPLAY.TYPE_HTMLおよびDBMS_WORKLOAD_REPLAY.TYPE_XMLです。

この例では、GET_REPLAY_INFOファンクションが、ワークロードの取得に関するすべての情報と、jul14リプレイ・ディレクトリ・オブジェクトからのすべてのワークロード・リプレイ試行の履歴に関する情報を収集します。このファンクションは、DBA_WORKLOAD_REPLAYSビューのCAPTURE_ID列に関連付けられて、取得した情報にアクセスできる、キャプチャ・ディレクトリのcap_idを戻します。SELECT文は最新のワークロードのリプレイの適切なrep_idを戻します。次に、REPORTファンクションは、SELECT文によって戻されたrep_idを使用してHTMLレポートを生成します。

DECLARE
  cap_id         NUMBER;
  rep_id         NUMBER;
  rep_rpt        CLOB;
BEGIN
  cap_id := DBMS_WORKLOAD_REPLAY.GET_REPLAY_INFO(replay_dir => 'jul14');
  /* Get the latest replay for that capture */
  SELECT max(id)
  INTO   rep_id
  FROM   dba_workload_replays
  WHERE  capture_id = cap_id;
 
  rep_rpt := DBMS_WORKLOAD_REPLAY.REPORT(replay_id => rep_id,
                           format => DBMS_WORKLOAD_REPLAY.TYPE_HTML);
END;
/

ワークロードのリプレイ・レポートの解釈方法については、「ワークロード・リプレイ・レポートの確認」を参照してください。

関連項目:

  • DBMS_WORKLOAD_REPLAYパッケージについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。