Oracle 10g flashback トランザクション履歴フラッシュバック
Oracle において Oracel10g トランザクション履歴フラッシュバック に関して示す。
- Oracle10g フラッシュバックの種類
- Oracel10g トランザクション履歴フラッシュバック
Oracle10g フラッシュバックの種類
参照系
- フラッシュバッククエリー http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/386
- 行履歴フラッシュバック http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/387
- トランザクション履歴フラッシュバック http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/388
更新系
- フラッシュバックデータベース http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/389
- フラッシュバックテーブル http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/390
- フラッシュバックドロップ http://www.bishounen.sakura.ne.jp/rails/my_knowledge/show/391
Oracel10g トランザクション履歴フラッシュバック
1-1.トランザクション履歴フラッシュバックの実行
※SYSDBA権限のユーザーで接続、実行する。 SQL> SELECT TABLE_NAME, OPERATION, UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY WHERE XID='0005000700000013';
1-2.実行結果の例
TABLE_NAME OPERATION ------------------ --------------- FLASHBACK_TMP DELETE UNDOSQL ------------------------------------------------------------------------- insert into "WA_ADMIN"."FLASHBACK_TMP"("COL1","COL2") values ('1','aaa');
- トランザクションIDを指定すれば、DELETE処理が行われたことがわかる。
- 削除されたデータがわかり、UNDOSQL文を実行すれば復元できる。
2-1.トランザクション履歴フラッシュバックの実行
※SYSDBA権限のユーザーで接続、実行する。 SQL> SELECT TABLE_NAME, OPERATION, UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY WHERE XID='0008001300000046';
2-2.実行結果の例
TABLE_NAME OPERATION ------------------ --------------- FLASHBACK_TMP UPDATE UNDOSQL ---------------------------------------------------------------------------------------- UPDATE "WA_ADMIN"."FLASHBACK_TMP" set "COL2" = '555' WHERE ROWID = 'AAACMZAAEAAAAAbAAE';
- UPDATE前でデータを確認でき、UNDOSQL文を実行すれば復元できる。
- また、ROWIDも確認できるので現在のデータもROWIDを指定してSELECTできる。
ご訪問頂き有難う御座います。
当サイトを効率良く使うためにまずは FrontPage を見て下さい。
検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage