フラッシュバックテーブル
UNDOデータを使用し、1つ以上の表を特定の時点の状態に戻すことができます。
特定の時点の状態を判断するために、フラッシュバック問い合わせ、行履歴フラッシュバック、
トランザクション履歴フラッシュバックなどを活用します。
! 実行には、行の移動が有効であることなどの条件があります。
行履歴フラッシュバック
SELECT VERSIONS_STARTSCN, VERSIONS_ENDSCN,VERSIONS_OPERATION, 列名, 列名
FROM テーブル名 VERSIONS BETWEEN TIMESTAMP SYSTIMESTAMP - INTERVAL '5' MINUTE AND SYSTIMESTAMP;
SCN scn AND scn;
現在のSCN確認
select current_scn from v$database;
バージョン(トランザクションID)問合せ
SELECT VERSIONS_XID FROM テーブル名
VERSIONS BETWEEN SCN またはTIMESTAMP 値 AND 値
WHERE 条件 ;
フラッシュバックトランザクション問合せ
SELECT OPERATION, UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY
WHERE XID = 'トランザクションID' ;
フラッシュバックドロップ
表を削除すると、関連する索引、制約、データベーストリガーは元の表領域内に
リネームされた状態で残されている。
元に戻すことをフラッシュバックドロップといいます。
Flashback Dropは、参照整合性制約を戻しません
パージを行うと表内のすべての行が削除され、データディクショナリから
定義が削除されます。表に作成された索引も同時に削除されます(ビューは自動的に削除されません)。
FLASHBACK TABLE テーブル名 TO BEFORE DROP;
確認テーブル
DBA_RECYCLEBIN
SHOW RECYCLEBIN
パージ 指定した表領域の削除オブジェクト解放
PURGE TABLESPACE 表領域名;
削除されたオブジェクト名
BIN$識別子 バージョン番号
|