【備份恢復】 閃回技術之閃回事務處理查詢
閃回事務處理查詢
1) 11g 閃回事務處理查詢必須要啟用最小補充日誌
SYS@ORA11GR2>alter database add supplemental log data;
Database altered.
SYS@ORA11GR2>select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
===========================================================================================
注 預設情況下最小補充日誌是未開啟的,關閉命令如下:
SYS@ORA11GR2>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
YES
SYS@ORA11GR2>alter
database drop supplemental log
data;
Database altered.
SYS@ORA11GR2>select
SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
NO
=======================================================
2) 建立測試表,並對其進行 DML 操作
SYS@ORA11GR2>create table t(id number(2),name varchar2(10)) tablespace users;
Table created.
SYS@ORA11GR2>insert into t values (1,'zhangsan');
1 row created.
SYS@ORA11GR2>update t set name='sss' where id=1;
1 row updated.
SYS@ORA11GR2>commit;
Commit complete.
3) 執行閃回版本查詢,得到事務 ID
SYS@ORA11GR2>select versions_xid,versions_startscn,id,name from t versions between timestamp minvalue and maxvalue;
VERSIONS_XID VERSIONS_STARTSCN ID NAME
---------------- ----------------- ---------- ----------
0B001700E1000000 1761763 1 sss
4) 透過事務 ID 得到相關 SQL
事務'0B001700E1000000'做了兩個操作:插入資料、更新資料,閃回事務會逆向的返回這個事務
的操作,透過這組 SQL 可修改會事務修改前的樣子:
SYS@ORA11GR2>select undo_sql from flashback_transaction_query where xid='0B001700E1000000';
UNDO_SQL
--------------------------------------------------------------------------------
update "SYS"."T" set "NAME" = 'zhangsan' where ROWID = 'AAAV73AAEAAAAJEAAA';
delete from "SYS"."T"
where ROWID = 'AAAV73AAEAAAAJEAAA';
透過上述 SQL 可修改會事務修改前的樣子,操作如下:
SQL> update "SCOTT"."T" set "NAME" = 'zhangsan' where ROWID = 'AAAWD/AAEAAAArUAAA';
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from t;
ID NAME
---------- ----------
1 zhangsan
完成!!!!!!!!!!!!!!!!!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126602/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【備份恢復】閃回技術之閃回版本查詢
- 【備份恢復】 閃回技術之閃回刪除
- 【備份恢復】 閃回技術之閃迴歸檔
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- 【閃回特性之閃回事務查詢】Flashback Transaction Query
- 閃回版本查詢與閃回事務查詢
- 閃回技術一:閃回查詢
- 【備份恢復】閃回資料庫(一)閃回資料庫的管理資料庫
- 【備份恢復】閃回資料庫(五)RMAN 命令列閃回資料庫資料庫命令列
- 【備份恢復】閃回資料庫(二) 基於 SCN 閃回資料庫資料庫
- Oracle閃回查詢,閃回版本查詢與閃回事務查詢的使用區別總結Oracle
- 閃回查詢恢復過程
- Oracle閃回技術之閃回資料庫Oracle資料庫
- 【備份恢復】閃回資料庫(三)基於時間戳閃回資料庫資料庫時間戳
- 閃回版本查詢技術:
- 閃回查詢之閃回版本查詢
- 閃回查詢之閃回表查詢
- 閃回技術二:閃回表
- (f)--閃回恢復區---實踐2---閃回表(閃回DML部分資料會用到閃回查詢)
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- Backup And Recovery User's Guide-備份和恢復介紹-Oracle閃回技術(二)GUIIDEOracle
- Backup And Recovery User's Guide-備份和恢復介紹-Oracle閃回技術(一)GUIIDEOracle
- 使用閃回查詢備份資料
- 【備份恢復】閃回資料庫(四)基於可靠還原點閃回資料庫資料庫
- Oracle 11G 閃回技術 使用Oracle閃回查詢Oracle
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- 閃回技術查詢資料
- 閃回查詢恢復誤刪資料
- Oracle閃回恢復區Oracle
- oralce恢復誤刪除的表中的資料(閃回、閃回查詢)
- Oracle -- 閃回恢復區---實踐1---閃回庫Oracle
- 閃回表、閃回查詢
- 閃回表技術
- Flashback閃回技術
- [閃回特性之閃回版本查詢]Flashback Version Query
- Oracle閃回查詢恢復delete刪除資料Oracledelete
- 閃回(關於閃回查詢)