LogMiner步骤-记一次日志挖掘的测试

1、进行初始化设置:开启附加日志,设置LogMiner的表空间,设置UTL_FILE_DIR参数的值;

SQL> CREATE DIRECTORY utlfile AS 'D:\oracle\oradata\practice\LOGMNR'; 
SQL> alter system set utl_file_dir='D:\oracle\oradata\LOGMNR' scope=spfile;

2、提取一个字典:将字典文件提取为Flat File或Redo日志。(或者直接使用Online Catalog);

CMD>CONNECT / AS SYSDBA 

SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'D:\oracle\oradata\LOGMNR');

SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss';

Session altered.
查询日志组:

SQL> select member from v$logfile;

在这里插入图片描述
3、指定需要分析的Redo日志文件,利用DBMS_LOGMNR.ADD_LOGFILE来添加日志;

SQL> execute dbms_logmnr.add_logfile('E:\APP\ADMINISTRATOR\ORADATA\TEST\REDO01.LOG',dbms_logmnr.new);

PL/SQL procedure successfully completed.
在这里插入图片描述
4、开始LogMiner:exec DBMS_LOGMNR.START_LOGMNR来启动LogMiner;:

SQL> exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog+dbms_logmnr.committed_data_only);

5、查询视图进行结果分析:

SQL> select sql_redo,sql_undo from v$logmnr_contents where OPERATION='INSERT';

在这里插入图片描述
6、结束LogMiner:通过执行EXECUTE DBMS_LOGMNR.END_LOGMNR来结束分析。

 SQL>execute dbms_logmnr.end_logmnr;

注意:Oracle的LogMiner分析时分为无限制条件和限制条件两种。要想精确如按照SCN,按照时间点查询,需要启用带限制条件的方式。
例如:
我们仅仅分析2019年6月1日的日志,:

EXECUTE dbms_logmnr.start_logmnr(

DictFileName => dictfilename=>‘D:…\practice\LOGMNR\dictionary.ora’,

StartTime =>to_date(‘2019-6-1 00:00:00’,‘YYYY-MM-DD HH24:MI:SS’)

EndTime =>to_date(’‘2019-6-1 23:59:59’,'YYYY-MM-DD HH24:MI:SS '));

同样结果查询也可按用户,按表查询结果:
SELECT sql_redo FROM v$logmnr_contents WHERE username=‘SCOTT’ AND tablename=‘EMP’;
但我查询的时候发现ogmnr_contents下记录到的这两个字段没提取到结果,猜想是不是需要补充日志supplemental log;
在这里插入图片描述
如大家有兴趣,可以尝试使用使用Online Catalog(联机日志)的方式再做一次实验一下。
适用于源库与目标库不同这样的方式

EXECUTE DBMS_LOGMNR_D.BUILD( -
OPTIONS=> DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

看字典存放到了哪个归档日志:

SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';
SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_END='YES';

或者使用在线字典
这种方式是Oracle推荐的,适用于在源库做LogMiner,也是最易用的一种方式。

EXECUTE DBMS_LOGMNR.START_LOGMNR(-
OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

部分参考:https://www.csdn.net/article/2014-12-30/2823367

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值