+ -
当前位置:首页 → 问答吧 → 请问如何查询ORACLE的历史操作记录!!!!!

请问如何查询ORACLE的历史操作记录!!!!!

时间:2011-09-28

来源:互联网

我用的是linux oracle 11g r2,想查一下前几天的数据库的历史操作记录,例如对表的insert,delete,update等等的操作记录,请问我如何查询呢?请列出具本的方法,谢谢啦!!

作者: garping   发布时间: 2011-09-28

SQL code
begin 
SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\jhoracle\REDO01.LOG', sys.dbms_logmnr.New); 
end; 

select min(low_time),  max(high_time), 
      min(low_scn),  max(next_scn) -1 
from V$logmnr_logs; 

begin 
SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); 
end; 

Select 
SCN, 
timestamp, 
sql_redo, 
session# session_num, 
username, 
session_info 
From V$LOGMNR_CONTENTS where sql_redo like '%update%'
Order by 1; 


begin 
SYS.DBMS_LOGMNR.END_LOGMNR(); 
end;


更换上述:'C:\oracle\oradata\jhoracle\REDO01.LOG'为你自己的文件名.注意一共三个:

'C:\oracle\oradata\jhoracle\REDO01.LOG'
'C:\oracle\oradata\jhoracle\REDO02.LOG'
'C:\oracle\oradata\jhoracle\REDO03.LOG'

作者: dawugui   发布时间: 2011-09-28