DBMS_WORKLOAD_REPLAY
パッケージを使用してワークロードのリプレイ・レポートを生成できます。また、「Enterprise Managerを使用したワークロード・リプレイ・レポートへのアクセス」で説明されているように、Oracle Enterprise Managerを使用してワークロード・リプレイ・レポートを生成することも可能です。
APIを使用してワークロードの取得に対する最新のワークロードのリプレイ・レポートを生成するには、次の手順を実行します。
「ワークロード・リプレイに関する情報の取得」で説明されているように、ワークロードの取得、およびDBMS_WORKLOAD_REPLAY
.GET_REPLAY_INFO
ファンクションをコールすることによる、リプレイ・ディレクトリ・オブジェクトからのワークロード・リプレイ試行の履歴に関する情報を取得します。
GET_REPLAY_INFO
ファンクションは1つのキャプチャ・ディレクトリのcap_id
を戻します(統合キャプチャ・ディレクトリの場合、戻されるcap_id
は0です)。
GET_REPLAY_INFO
ファンクションにより戻されるcap_id
を使用して、問合せを実行し、ワークロードの最新のリプレイの適切なrep_id
を戻します。
DBMS_WORKLOAD_REPLAY.REPORT
ファンクションをコールします。
REPORT
ファンクションは、SELECT
文によって戻されたrep_id
を使用してレポートを生成します。
REPORT
ファンクションでは、次のパラメータを使用します。
replay_id
: レポートが生成されるワークロードのリプレイを含むディレクトリを指定する必須パラメータ。このディレクトリは、ワークロードのリプレイを含むホスト・システム内の有効なディレクトリである必要があります。このパラメータの値は、前の問合せで戻されたrep_id
と一致する必要があります。
format
: レポートの形式を指定する必須パラメータ。有効な値は、DBMS_WORKLOAD_REPLAY
.TYPE_TEXT
、DBMS_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パッケージおよびタイプ・リファレンス』を参照してください。