最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

oracle11g之LogMiner分析重做日志实践

来源:懂视网 责编:小采 时间:2020-11-09 16:29:50
文档

oracle11g之LogMiner分析重做日志实践

oracle11g之LogMiner分析重做日志实践:1.安装LogMiner 以DBA用户身份运行下面2个脚本: dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。 SQL @$ORACLE_HOME/rdbms/admin/dbmslm.sql;Package created.Grant succeeded.Synonym created. dbms
推荐度:
导读oracle11g之LogMiner分析重做日志实践:1.安装LogMiner 以DBA用户身份运行下面2个脚本: dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。 SQL @$ORACLE_HOME/rdbms/admin/dbmslm.sql;Package created.Grant succeeded.Synonym created. dbms
  • dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。
  • SQL> @$ORACLE_HOME/rdbms/admin/dbmslm.sql;
    
    Package created.
    
    Grant succeeded.
    
    Synonym created.
  • dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
  • SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
    
    Package created.
    
    Synonym created.


    2.设置参数UTL_FILE_DIR

    添加参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录,

    SQL> CREATE DIRECTORY utlfile AS '/home/oracle/logminer';
    
    Directory created.
    
    SQL> alter system set utl_file_dir='/home/oracle/logminer' scope=spfile;
    
    System altered.

    重启数据库,生效上面的设置。

    SQL> shutdown immediate;
    
    SQL> startup;
    
    SQL> show parameters utl_file_dir;

    3.启动补充日志

    补充日志不是LogMiner日志分析必须的步骤,但是如果不启用补充日志,分析日志的的很多结果集信息就会显示为“UNKNOWN”,下面是开启最小补充日志。

    SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    Database altered.
    
    SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
    
    SUPPLEME
    
     --------
    
     YES
    

    4.创建专门的LogMiner用户

    不是必须,实为管理安全方便。

    5.创建数据字典

    SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/logminer');

    6.添加需要分析的在线日志或者归档日志

    SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'
    
    /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_199_ckv04o6w_.arc',OPTIONS => DBMS_LOGMNR.NEW);
    
    SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'
    
    /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_201_ckv08jyp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE);
    
    PL/SQL procedure successfully completed.
    
    SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'
    
    /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_200_ckv05pmp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE);
    
    PL/SQL procedure successfully completed.

    7. 使用字典分析归档日志文件

    SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora');

    8.在线日志分析实例

  • 插入数据
  • SQL> insert into nn.t1 values(1000,'succ');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.

  • 查询当前日志序列号
  • SQL> SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORD ER BY first_change#;
    
     GROUP# SEQUENCE# STATUS FIRST_CHANGE# FIRST_TIM
    
    ---------- ---------- ---------------- ------------- ---------
    
     1 208 INACTIVE 2825768 25-APR-16
    
     2 209 INACTIVE 2825872 25-APR-16
    
     3 210 CURRENT 2845771 25-APR-16

  • 加入当前日志组
  • SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'/home/oracle/oradata/orcl/redo03.log',OPTIONS => DBMS_LOGMNR.ADDFILE);
    
    PL/SQL procedure successfully completed.

  • 使用LogMiner进行分析
  • SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora');
    
    PL/SQL procedure successfully completed.

  • 查询分析结果
  • SQL> SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='T1';
    
    SQL_REDO SQL_UNDO SEG_OWNER
    
    insert into "NN"."T1"("TID","TNAME") values ('1000','succ');
    
    delete from "NN"."T1" where "TID" = '1000' and "TNAME" = 'succ' and ROWID = 'AAAR7YAAEAAAACrAAD';
    
    NN


    9.关闭LogMiner会话

    SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR;
    



    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    oracle11g之LogMiner分析重做日志实践

    oracle11g之LogMiner分析重做日志实践:1.安装LogMiner 以DBA用户身份运行下面2个脚本: dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。 SQL @$ORACLE_HOME/rdbms/admin/dbmslm.sql;Package created.Grant succeeded.Synonym created. dbms
    推荐度:
    标签: 11 日志 重做
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top