oracle logminer 详解

大家都知道oracle logminer是用来挖掘redo日志的,其中有大体的流程和若干细节需要考虑。

在本文,我计划给大家讲述logminer的使用流程和大致思路:

1、启用supplemental logging

 supplemental log启用命令如下:
alter database add supplemental log data;

查看 supplemental log的启用情况:
select supplemental_log_data_min,supplemental_log_data__all,
supplemental_log_data_pk, supplemental_log_data_ui,
supplemental_log_data_fk
from v$database

supplemental log的启用有很多细节,比如是在REDO LOG中记录update的整行内容,还是只记录update的相关字段的内容等,这些细节,自行脑补。

你只要只要在这里可以开启 supplemental log即可。

2、设置logMiner Dictionary

logMiner Dictionary有三种形式:

一种是使用online catalog:

DBMS_LOGMNR.START_LOGMNR(OPTION=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

第二种是logMiner Dictionary放入REDO LOG里面:

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

第三种是logMiner Dictionary放入单独的flat文件中:

a>使用UTL_FILE_DIR初始化参数指定文件目录,需要重启数据库生效;

b>DBMS_LOGMNR_D.BUILD('mydictionary.ora','/home/oracle',DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);

3、设置需要挖掘的redo log,如果是基于时间或基于SCN的挖掘,就不需要添加了,logminer会根据您提供的时间范围,自动查收需要挖掘的数据范围

DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'xxxx/redo03.log',
OPTIONS => DBMS_LOGMNR.NEW);
DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'xxxx/redo04.log',OPTIONS=>DBMS_LOGMNR.ADDFILE);

查询哪些日志文件需要被挖掘:

select  *   from  logmnr_logs;

4、启动logminer

1、基于在线日志字典进行挖掘

DBMS_LOGMNR.START_LOGMNR(OPTION=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

2、基于logMiner Dictionary放入REDO LOG里面进行挖掘:

DBMS_LOGMNR.START_LOGMNR(OPTION => DBMS_LOGMNR.DICT_FROM_REDO_LOGS);

3、基于flat file日志进行挖掘

DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>'/home/oracle/mydictionary..ora');

4、按时间进行挖掘

DBMS_LOGMNR.START_LOGMNR(  STARTTIME=>""2021-10-21 10:29:31",ENDTIME=>SYSDATE, OPTIONS=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG+DBMS_LOGMNR..CONTINUOUS_MINE);

5、查询挖掘结果

select   SQL_REDO,SQL_UNDO   from  v$logmnr_contents where table_name="XXX";

6、关闭logminer session

DBMS_LOGMNR.END_LOGMNR();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值