1 Logminer可用来分析归档日志
2 使用Logminer分析归档日志得步骤
①确定对应DML操作对应的归档日志
②使用Logminer分析对应的归档日志文件
3 确定对应DML操作对应的归档日志
①查找归档日志序号
sql>select sequence#,first_time from v$log_history order by first_time desc;
---sequence#为归档日志序号,first_time为归档日志开始时间
②确定需要分析的归档日志
sql>select t.first_time,t.name from v$archived_log t order by t.first_time desc;
4 使用Logminer分析日志
①添加需要分析的归档日志文件
添加第一个日志文件
sql>execute dbms_logmnr.add_logfile(logfilename=>'u01/app/oracle/flash_recovery_area/OMS/archivelog/2013_07_09/01_mf_1_12_6w0mmgmd_.arc',
options=>dbms_logmnr.new);
添加第二个或第二个以后的文件
sql>execute dbms_logmnr.add_logfile(logfilename=>'u01/app/oracle/flash_recovery_area/OMS/archivelog/2013_07_09/02_mf_1_12_6w0mmgmd_.arc',
options=>dbms_logmnr.addfile);
②启动Logminer
sql>execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
③将分析数据转存到新建的表中
sql>create table logminer_temp tablespace bank_tbs as select * from v$logmnr_contents;
④结束Logminer
sql>execute dbms_logmnr.end_logmnr;
5 查看分析日志的结果
sql>select t.timestamp,t.sql_redo,t.sql_undo
from v$logmnr_contents t
where t.seg_owner='BANKUSER'
and t.sql_undo is not null;
--- sql_redo字段中的sql语句是刚才执行的操作,如果要取消可以执行对应的sql_undo中的语句。