[閃回特性之閃回版本查詢]Flashback Version Query
使用閃回版本查詢來獲取在給定的時間區間中,指定的行的不同版本。當COMMIT語句被執行時,一個新的行版本被建立。閃回版本查詢使用VERSIONS BETWEEN子句:VERSIONS {BETWEEN {SCN | TIMESTAMP} start AND end},其中,start和end是代表開始和結束的表示式,代表被查詢的時間區間。
下面演示一下閃回版本查詢如何使用。
閃回版本查詢返回一個表,包含行在指定的時間區間中的所有版本。在表中的每行都包含關於行版本的後設資料偽列。需要注意的是,返回結果是左包含右不包含,即VERSIONS_START* <= t < VERSIONS_END*。
語法如下:
SELECT .....FROM tablename VERSIONS {BETWEEN {SCN | TIMESTAMP} start AND end}
--start,end可以是時間也可以是scn
- Flashback Version Query偽列說明
- versions_start{scn|time} 版本開始的scn或時間戳
- versions_end{scn|time} 版本結束scn或時間戳,如果有值表明此行後面被更改過是舊版本,如果為null,則說明行版本是當前版本或行被刪除(即versions_operation值為D)。
- versions_xid 建立行版本的事務ID
- versions_operation 在行上執行的操作(I=插入,D=刪除,U=更新)
下面演示一下閃回版本查詢如何使用。
點選(此處)摺疊或開啟
-
SQL>
-
SQL> create table scott.hoegh as select * from scott.dept where 1=2;
-
-
Table created.
-
-
SQL>
-
SQL> select systimestamp from dual;
-
-
SYSTIMESTAMP
-
---------------------------------------------------------------------------
-
15-APR-15 09.37.46.593306 PM +08:00
-
-
SQL> select current_scn from v$database;
-
-
CURRENT_SCN
-
-----------
-
1172460
-
-
SQL>
-
SQL> insert into scott.hoegh select * from scott.dept where deptno=10;
-
-
1 row created.
-
-
SQL> commit;
-
-
Commit complete.
-
-
SQL> c/10/20
-
SP2-0023: String not found.
-
SQL> insert into scott.hoegh select * from scott.dept where deptno=20;
-
-
1 row created.
-
-
SQL> c/20/30
-
1* insert into scott.hoegh select * from scott.dept where deptno=30
-
SQL> /
-
-
1 row created.
-
-
SQL> commit;
-
-
Commit complete.
-
-
SQL> update scott.hoegh set dname='HOEGH' where deptno=10;
-
-
1 row updated.
-
-
SQL> commit;
-
-
Commit complete.
-
-
SQL> insert into scott.hoegh select * from scott.dept where deptno=40;
-
-
1 row created.
-
-
SQL> commit;
-
-
Commit complete.
-
-
SQL> select systimestamp from dual;
-
-
SYSTIMESTAMP
-
---------------------------------------------------------------------------
-
15-APR-15 09.41.12.200887 PM +08:00
-
-
SQL> select current_scn from v$database;
-
-
CURRENT_SCN
-
-----------
-
1172586
-
-
SQL> SQL> set linesize 300
-
SQL> /
-
-
STARTSCN STARTTIME ENDSCN ENDTIME VERSIONS_XID V DEPTNO
-
---------- ------------------------- ---------- ------------------------- ---------------- - ----------
-
1172566 15-APR-15 09.41.00 PM 04000A0087020000 I 40
-
1172557 15-APR-15 09.40.36 PM 05001D0025030000 U 10
-
1172521 15-APR-15 09.39.18 PM 02000B0033030000 I 30
-
1172521 15-APR-15 09.39.18 PM 02000B0033030000 I 20
-
1172493 15-APR-15 09.38.27 PM 1172557 15-APR-15 09.40.36 PM 0500040026030000 I 10
-
-
SQL> SQL>
-
SQL> select versions_startscn startscn,versions_starttime starttime,versions_endscn endscn,versions_endtime endtime,versions_xid,versions_operation,deptno
-
from scott.hoegh
-
versions between scn 1172460 and 1172586; 2 3
-
-
STARTSCN STARTTIME ENDSCN ENDTIME VERSIONS_XID V DEPTNO
-
---------- ------------------------- ---------- ------------------------- ---------------- - ----------
-
1172566 15-APR-15 09.41.00 PM 04000A0087020000 I 40
-
1172557 15-APR-15 09.40.36 PM 05001D0025030000 U 10
-
1172521 15-APR-15 09.39.18 PM 02000B0033030000 I 30
-
1172521 15-APR-15 09.39.18 PM 02000B0033030000 I 20
-
1172493 15-APR-15 09.38.27 PM 1172557 15-APR-15 09.40.36 PM 0500040026030000 I 10
-
- SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-1578998/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 閃回版本查詢(Flashback Version Query)
- 聊聊閃回版本查詢Flashback Version Query
- 【閃回特性之閃回事務查詢】Flashback Transaction Query
- Flashback Query閃回查詢
- oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 閃回查詢之閃回版本查詢
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- Oracle閃回技術--Flashback Version QueryOracle
- 全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 【徵文】全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 閃回之 Flashback Query (dml表、過程、函式、包等)、Flashback version Query函式
- 閃回查詢之閃回表查詢
- oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- flashback query閃回資料
- 全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 【備份恢復】閃回技術之閃回版本查詢
- 閃回表、閃回查詢
- 閃回版本查詢操作
- 閃回版本查詢與閃回事務查詢
- 【Flashback】使用檢視快速獲得Flashback Query閃回查詢資料
- 全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【徵文】全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 10g新特性——閃回版本查詢
- Oracle 閃回特性(FLASHBACK DATABASE)OracleDatabase
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- 【徵文】全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 閃回版本查詢技術:
- Oracle閃回查詢,閃回版本查詢與閃回事務查詢的使用區別總結Oracle
- 基本閃回查詢和閃回表
- 閃回技術一:閃回查詢
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- 閃回查詢
- 【徵文】全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle