リプレイ・ディレクトリ・オブジェクト内のワークロード取得に関する情報と、そのディレクトリからのワークロード・リプレイ試行の履歴に関する情報をすべて取得できます。デフォルトでは、ワークロード・リプレイ相違データはロードされませんが、このデータを選択的にロードする選択ができます。
ワークロード・リプレイに関する情報を取得するには、次の手順を実行します。
DBMS_WORKLOAD_REPLAY.GET_REPLAY_INFOファンクションをコールします。
GET_REPLAY_INFOファンクションはまず、ワークロードの取得に関する情報が含まれる行をDBA_WORKLOAD_CAPTURESビューにインポートします。デフォルトでは、これまでDBA_WORKLOAD_REPLAYSビューにロードされていないリプレイの情報のみがインポートされます。このファンクションは、DBA_WORKLOAD_REPLAYSビューのCAPTURE_ID列に関連付けられて、取得した情報にアクセスできる、キャプチャ・ディレクトリのcap_idを戻します(統合キャプチャ・ディレクトリの場合、cap_idは0を戻します)。
GET_REPLAY_INFOファンクションでは、次のパラメータを使用します。
replay_dir: ワークロード・リプレイのディレクトリ・オブジェクト名を指定する必須パラメータ。
load_divergence: 相違データがロードされるかどうかを指定するオプション・パラメータ。このパラメータのデフォルト値はFALSEです。リプレイ・ディレクトリから取得した各リプレイ試行の行をDBA_WORKLOAD_REPLAY_DIVERGENCEビューにインポートして、相違データをロードするには、このパラメータをTRUEに設定します。あるいは、リプレイ情報が取得された後で、「ワークロード・リプレイの相違データのロード」で説明されているように、LOAD_DIVERGENCEプロシージャを使用して、ディレクトリ・オブジェクト内の1つのリプレイまたはすべてのリプレイの相違データを選択的にロードすることができます。
例12-1 ワークロード・リプレイに関する情報の取得
次の例に、ワークロード取得に関する情報と、jul14という名前のリプレイ・ディレクトリ・オブジェクトのワークロード・リプレイ試行の履歴に関する情報を取得する方法と、情報が取得されたことを確認する方法を示します。
DECLARE
cap_id NUMBER;
BEGIN
cap_id := DBMS_WORKLOAD_REPLAY.GET_REPLAY_INFO(replay_dir => 'jul14');
SELECT capture_id
FROM dba_workload_replays
WHERE capture_id = cap_id;
END;
/