2.建立日志列表
在“生成归档日志”的中已经生成了三个连续的归档日志文件,为便于分析我们重新复制这三个归档日志文件并分别命名为:test1.arc、test2.arc、test3.arc。通过以下操作建立日志分析列表:
BEGIN
dbms_logmnr.add_logfile(
options=>dbms_logmnr.new,
logfilename=>’c:oraclephjarchivetest1.arc’);
END;
/ |
3.增加其它欲进行分析的日志文件
BEGIN
dbms_logmnr.add_logfile(
options=>dbms_logmnr.addfile,
logfilename=>’c:oraclephj archive test2.arc’);
END;
/ |
用同样的方法将归档日志文件test3.arc增加到日志分析列表中。可以通过动态性能视图v $logmnr_logs查看日志分析列表中有哪些待分析的日志文件。
SQL> select filename from v $logmnr_logs;
FILENAME
----------------------------------------
c:oraclephjarchivetest1.arc
c:oraclephjarchivetest2.arc
c:oraclephjarchivetest3.arc |
四、启动LogMiner执行分析
1.分析重做日志和归档日志
BEGIN
dbms_logmnr.start_logmnr(
dictfilename=>’c:oraclephjlogmnrdict.ora’,
starttime=>to_date(’2003-02-10:10:05:00’,’YYYY-MM-DD:HH24:MI:SS’),
endtime=>to_date(’2003-02-10:10:17:00’,’YYYY-MM-DD:HH24:MI:SS’)
);
END;
/ |
注意:此过程能否执行成功的关键是给出的starttime(起始)和endtime(终止时间)应在一个有效的内。特别是终止时间,应小于或等于归档日志的建立时间;如果大于归档日志的建立时间,则不能执行分析过程。分析多个归档日志时,这些归档日志最好是连续的。
2.查看日志分析结果
上面对日志进行分析的结果存放在动态性能视图v $logmnr_contents中,通过查询该动态性能视图可以取得所有DML以及其反操作。
SQL> select operation,sql_redo,sql_undo
2 from v $logmnr_contents
3 where seg_name='TMP';
OPERATION SQL_REDO SQL_UNDO
----------- --------------------- --------------------------
INSERT insert into SYS.TMP…… delete from SYS.TMP ……
UPDATE update SYS.TMP set NO …… update SYS.TMP set ……
DELETE delete from SYS.TMP …… insert into SYS.TMP …… |
根据需要可以从动态性能视图v $logmnr_contents中获取更多的有用信息,限于篇幅此不赘述。对重做日志进行分析的方法与对归档日志分析的方法一样,只是在建立日志分析列表时,需将重做日志文件添加到日志分析列表中。