1. 程式人生 > >oralce查詢表修改記錄的幾種方式

oralce查詢表修改記錄的幾種方式

(1)SELECT ID,NAME,state,VERSIONS_ENDTIME,VERSIONS_OPERATION

FROM table_name VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE

VERSIONS_STARTTIMEIS NOT NULL ORDER BY VERSIONS_STARTTIME DESC;

事務回滾段使用

(2)--這個sql從記憶體中讀取繫結變數值資訊,若是不在記憶體中,則使用下一個sql

select s.sql_text, b.name, b.position, b.dup_position,

b.value_string

  from v$sql s, v$sql_bind_capture b

 where s.sql_id = b.sql_id

   and (s.SQL_TEXT like 'update table_name%' )

 order by b.LAST_CAPTURED, b.POSITION;

 不是實時記錄

(3)--這個sql從awr中讀取繫結變數值資訊

select s.sql_text, b.name, b.position, b.dup_position, b.value_string

  from v$sql s, dba_hist_sqlbind b

 where s.sql_id = b.sql_id

   and (s.SQL_TEXT like 'update table_name%' )

 order by b.LAST_CAPTURED, b.POSITION;

 oracle 10以上是可以的

(4)select * from table_name as of timestamp to_Date('2016-05-30 15:28:00', 'yyyy-mm-dd hh24:mi:ss');

只有一段時間內的可以

(5)用Oracle LogMiner根據日誌查詢