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,
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根據日誌查詢