閃回版本查詢技術:
為了能夠清楚地看到整個修改過程中的每次修改的結果,我們可以透過閃回版本查詢技術。
我們登入Scott使用者下的emp表,對錶中一條員工號為empno=7369的員工工資進行多次修改,如下:
conn scott/tiger0520
最初的資料:
SQL> select ename,job,sal from emp where empno=7369;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
第一次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
第二次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
第三次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
最終的資料:
SQL> select ename,job,sal from emp where empno=7369;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 1400
此時,我們可以透過閃回版本查詢檢視,執行如下查詢語句:SQL> select to_char(versions_starttime,'yyyy-mm-dd hh24:mi:ss')
2 as starttime,versions_xid,ename,job,sal
3 from emp versions between timestamp
4 sysdate-10/1440 and sysdate where empno=7369;
STARTTIME VERSIONS_XID ENAME JOB SAL
------------------- ---------------- ---------- --------- ----------
2016-09-29 23:30:07 0D001D009B000000 SMITH CLERK 1400
2016-09-29 23:29:01 14001200A2000000 SMITH CLERK 1200
2016-09-29 23:26:31 0F000100A3000000 SMITH CLERK 1000
SMITH CLERK 800
VERSIONS_STARTSCN
VERSIONS_STARTTIME
該記錄操作時的 scn 或時間,如果為空,表示該行記錄是在查詢範圍外創
建的。
VERSIONS_ENDSCN
VERSIONS_ENDTIME
該記錄失效時的 scn 或時間,如果為空,說明記錄當前時間在當前表記憶體
在,或者已經被刪除了,可以配合著 VERSIONS_OPERATION 列來看,如
果 VERSIONS_OPERATION 列值為 D,說明該列已被刪除,如果該列為
空,則說明記錄在這段時間無操作。
VERSIONS_OPERATION
對該行執行的操作:I 表示 insert,D 表示 delete,U 表示 update。
提示:對於索引鍵的 update 操作,版本查詢可能會將其識別成兩個操
作:DELETE 和 INSERT。
VERSIONS_XID
該操作的事務 ID
透過以上的操作,我們一清二楚地看到該條資料的變動過程。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2125776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 【備份恢復】閃回技術之閃回版本查詢
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- 閃回技術一:閃回查詢
- 閃回查詢之閃回版本查詢
- 閃回技術查詢資料
- 閃回版本查詢與閃回事務查詢
- 閃回版本查詢操作
- Oracle 11G 閃回技術 使用Oracle閃回查詢Oracle
- Oracle閃回查詢,閃回版本查詢與閃回事務查詢的使用區別總結Oracle
- [閃回特性之閃回版本查詢]Flashback Version Query
- 閃回查詢之閃回表查詢
- oracle閃回版本查詢學習Oracle
- 閃回版本查詢(Flashback Version Query)
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- 閃回表、閃回查詢
- Oracle 11g 閃回版本查詢Oracle
- 聊聊閃回版本查詢Flashback Version Query
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- 閃回查詢
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- 10g新特性——閃回版本查詢
- 基本閃回查詢和閃回表
- oracle閃回查詢Oracle
- 閃回查詢(轉)
- 閃回查詢(1)
- oracle 閃回查詢Oracle
- 學習Oracle10g:閃回版本查詢Oracle
- DM7閃回與閃回查詢
- 閃回技術二:閃回表
- Flashback Query閃回查詢
- oracle的閃回查詢Oracle
- oracle的回閃查詢Oracle
- 閃回查詢(undo sql)SQL
- Oracle Database 10g新特性-閃回版本查詢OracleDatabase
- 閃回表技術
- Flashback閃回技術