閃回版本查詢(Flashback Version Query)

edwardking888發表於2010-05-10

閃回版本查詢概念

Oracle 的閃回版本查詢功能(Flashback Version Query)提供了一個審計行改變的查詢功能,它能找到所有已經提交了的行的記錄。藉助這個特殊的功能,我們可以看到什麼時間執行了什麼操作。使用該功能,可以很輕鬆地實現對應用系統進行審計,而沒有必要使用細粒度的審計功能或者是使用LOGMNR了。

閃回版本查詢功能依賴於AUM(Automatic Undo Management),AUM指的是採用撤銷表空間記錄來增、刪、改資料的方法。

要用Flashback Version Query實現對資料行改變記錄進行查詢,主要採用SELECT 語句帶flashback_query子語句來實現,Flashback_query子語句的語法格式如下:

SELECT ,… FROM

VERSION BETWEEN [ SCN | TIMESTAMP ]

[ | MAXVALUE] AND | MINVALUE]

| AS OF [SCN |TIMESTAMP ]

其中各項引數的說明如下。

l          AS OF:表示恢復單個版本;

l          SCN:系統更改號;

l          TIMESTAMP:時間。

使用閃回版本查詢

下面我們通過具體的例項來演示閃回版本查詢的使用。

示例:閃回版本查詢內容詳細例項。

(1)系統初始情況的查詢,用to_timestamp函式轉換時間格式:

SQL> select * from test;

NAME               SS
---------- ----------
EURO           1.1016

SQL> delete from test;

已刪除 1 行。

SQL> commit;

提交完成。

SQL> select * from test as of timestamp to_timestamp('2010-05-10 01:12:01','yyyy
-mm-dd hh24:mi:ss');

NAME               SS
---------- ----------
EURO           1.1016

對test表的操作進行審計,查詢結果:

SQL> select name,ss,versions_operation,versions_xid,versions_starttime  from tes
t versions between timestamp minvalue and maxvalue order by versions_starttime;

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-662302/,如需轉載,請註明出處,否則將追究法律責任。

閃回版本查詢(Flashback Version Query)
請登入後發表評論 登入
全部評論

相關文章