Oracle 配置 LOGMINR

Oracle 配置 LOGMINR

通过logminer我们可以实现:

1、确定数据的逻辑损坏的时间;

2、跟踪用户执行的事务变化操作;

3、跟踪表的DML操作;

Logminer 需要

1、开归档(推荐,如果没有启用,只能挖掘联机日志,则效率差);

shutdown immediate

startup mount

alter database archivelog;

alter database open;

2、suppplemental logging;

select name,supplemental_log_data_min from v$database;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

(此操作会增加Oracle数据库的日志量)

SYSDBA用户执行以下脚本:

$ORACLE_HOME/rdbms/admin/dbmslm.sql

$ORACLE_HOME/rdbms/admin/dbmslmd.sql

$ORACLE_HOME/rdbms/admin/dbmslms.sql

(注意:Oracle12c经典安装中只有前两个,但并不影响使用)

使用LOGMNR推荐使用sys用户或system用户(如需使用其他用户需要dba权限)

配置docker-compose.yml

在配置文件中 sourceoracle下: 加上ORACLE_MODE=LOGMINER

在manager下设置 NEED_SWITCH_TOPIC=false

存在的影响:

1、对Oracle执行用户的权限依赖较高,官方推荐使用sys用户;

2、较为依赖归档日志,启用归档日志和加强日志类型后,Oracle会产生大于非归档模式下数倍的日志量,对存储空间的使用较多。但如果不使用归档日志则只能使用联机日志文件,当联机日志文件轮询较快时容易发生数据覆盖,导致数据丢失,另外过于频繁的联机日志文件的轮询会产生Oracle数据库log file sync事件,从而影响数据库服务器的IO,当应用调用Logmnr工具使用联机日志文件时还易引发服务器网络性能下降;

3、较为依赖固定的数据字典信息,使用Logmnr适用于数据字典变化较少的情形下,当Oracle数据字典发生改变则需要重新执行Logmnr配置流程。

测试logmnr

1、show parameter db_recovery_file_dest --找到archive log file所在的路径

2、使用路径下面的任意一个archive log file作为logmnr测试分析使用

3、execute dbms_logmnr.add_logfile(logfilename=>'',options=>dbms_logmnr.new);

4、execute dbms_logmnr.start_logmnr(Options => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG)

5、select count(*) from v$logmnr_contents

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180311A0G76Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券