Oracle 10g flashback 行履歴フラッシュバック

Oracle において Oracel10g 行履歴フラッシュバック に関して示す。

Oracle10g フラッシュバックの種類

参照系

  1. フラッシュバッククエリー http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/386
  2. 行履歴フラッシュバック http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/387
  3. トランザクション履歴フラッシュバック http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/388

更新系

  1. フラッシュバックデータベース http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/389
  2. フラッシュバックテーブル http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/390
  3. フラッシュバックドロップ http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/391

Oracel10g 行履歴フラッシュバック

1.行履歴フラッシュバックの実行

  SQL> SELECT VERSIONS_STARTSCN "Start SCN",
              VERSIONS_ENDSCN "End SCN",
              VERSIONS_XID "Xid",
              VERSIONS_OPERATION "Operation",
              COL1,
              COL2
       FROM FLASHBACK_TMP

2.行履歴フラッシュバックの結果例

       VERSIONS BETWEEN TIMESTAMP SYSTIMESTAMP - INTERVAL '12' MINUTE
                                    AND
                                    SYSTIMESTAMP;
  Start SCN   End SCN     Xid                   Op         COL1       COL2
  ----------- ----------- --------------------- ---------- ---------- ----------
  205584                  0005000700000013      D          1          aaa
  204570      205584      0008001C00000044      U          1          aaa
  204567                  0002001900000056      U          3          CCC
  204564                  0001000A0000005E      U          2          BBB
  204561      204570      0007002100000013      U          1          AAA
  204551                  0003002F00000028      I          5          555
  204551                  0003002F00000028      I          4          444
  204551      204567      0003002F00000028      I          3          333
  204551      204564      0003002F00000028      I          2          222
  204551      204561      0003002F00000028      I          1          111

※UNDO_RETENTION

  保持時間を超えて時間指定をすると
  「ORA-30052: 下限のスナップショット式が無効です」が発生。

※特定のテーブルに対して最近INSERTしてデータを検索

  SQL> SELECT * FROM (SELECT * FROM FLASHBACK_TMP VERSIONS
       BETWEEN SCN MINVALUE AND MAXVALUE
       WHERE VERSIONS_OPERATION='I' ORDER BY VERSIONS_ENDTIME DESC)
       WHERE ROWNUM=1;

ご訪問頂き有難う御座います。 当サイトを効率良く使うためにまずは FrontPage を見て下さい。 検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage