Oracle学习(13)---Logminer

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中的语句。

 

你可能感兴趣的:(Oracle)