重庆思庄Oracle、Redhat认证学习论坛

标题: Oracle 配置 LOGMINR [打印本页]

作者: TurboChang    时间: 2018-1-29 12:42
标题: 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



作者: 郑全    时间: 2018-2-9 17:52
在11.2.0.4上测试了一下,不开追加日志,也可以.




欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2