リプレイ時に、リプレイ・システムと取得システムの間のエラーおよびデータに相違があった場合は、違いのあるコールとして記録されます。
違いのあるコールに関する情報(SQL識別子、SQLテキスト、バインド値など)を取得するには、次のパラメータを使用してGET_DIVERGING_STATEMENT
ファンクションをコールします。
replay_id
パラメータを違いのあるコールを含むリプレイのIDに設定します。
stream_id
パラメータを違いのあるコールのストリームIDに設定します。
call_counter
パラメータを違いのあるコールのコール・カウンタに設定します。
違いのあるコールに関するこれらの情報を表示するには、DBA_WORKLOAD_REPLAY_DIVERGENCE
ビューを使用します。次の例は、ファンクション・コールを示しています。
DECLARE r CLOB; ls_stream_id NUMBER; ls_call_counter NUMBER; ls_sql_cd VARCHAR2(20); ls_sql_err VARCHAR2(512); CURSOR c IS SELECT stream_id, call_counter FROM DBA_WORKLOAD_REPLAY_DIVERGENCE WHERE replay_id = 72; BEGIN OPEN c; LOOP FETCH c INTO ls_stream_id, ls_call_counter; EXIT when c%notfound; DBMS_OUTPUT.PUT_LINE (ls_stream_id||''||ls_call_counter); r:=DBMS_WORKLOAD_REPLAY.GET_DIVERGING_STATEMENT(replay_id => 72, stream_id => ls_stream_id, call_counter => ls_call_counter); DBMS_OUTPUT.PUT_LINE (r); END LOOP; END; /
関連項目:
DBMS_WORKLOAD_REPLAY
パッケージについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。