日志的不会如果是9i或者是以上版本的话你可以试试这个 SELECT * FROM test AS OF TIMESTAMP TO_DATE(’2010-11-04 11:25:17′, ‘YYYY-MM-DD HH:MI:SS’); 查询某个时间戳时的数据
begin SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\oracle\REDO01.LOG', --这里REDO01-REDO03 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;
你要求的这些功能,oracle目前还提供不了吧!只能记录一些起本的信息吧! 如果想看你说的那些操作,只能自己监视了吧! select member from v$logfile可以查看你的log文件,不过这些都是不可看的内容,你可以通过你写工具去分析
1、修改参数文件init.ora,参数audit_trail值为true; 2、重新启动数据库; 3、打开审计audit session; 4、执行登录操作; 5、察看审计结果: select * from dba_audit_session; select * from sys.aud$; select * from dba_audit_trail; select * from dba_audit_exists
SELECT * FROM test AS OF TIMESTAMP
TO_DATE(’2010-11-04 11:25:17′, ‘YYYY-MM-DD HH:MI:SS’);
查询某个时间戳时的数据
SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\oracle\REDO01.LOG', --这里REDO01-REDO03
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;
如果想看你说的那些操作,只能自己监视了吧!
select member from v$logfile可以查看你的log文件,不过这些都是不可看的内容,你可以通过你写工具去分析
2、重新启动数据库;
3、打开审计audit session;
4、执行登录操作;
5、察看审计结果:
select * from dba_audit_session;
select * from sys.aud$;
select * from dba_audit_trail;
select * from dba_audit_exists
闪回查询只能查看有限时间前的 dml 语句对数据更改,而 ddl 语句对表结构无法查看。
可以查看这个里面的一些操作DB的信息,不知道是不是你想要的