• 达梦日志挖掘


    0、摘要

      达梦数据库提供DBMS_LOGMNR系统包用于对归档日志进行挖掘,从而获取某一时间段内的DDL和DML等操作,用于进一步进行错误数据修正以及复杂问题深入分析。需要注意的是,DBMS_LOGMNR只支持归档日志进行分析,而且需要将RLOG_APPEND_LOGIC选项置为1或2。达梦MPP环境下不支持使用DBMS_LOGMNR包。

    1. 挖掘条件

    针对达梦数据库需要日志挖掘必须满足如下条件,且只能针对归档日志做挖掘。

    1、开启归档

          select SF_GET_PARA_VALUE(1,'arch_ini');

          SP_SET_PARA_VALUE(2,'arch_ini',1);   --静态参数,修改后需要重启数据库

    2、开启附加日志

          select SF_GET_PARA_VALUE(1,'RLOG_APPEND_LOGIC');

          SP_SET_PARA_VALUE(2,'RLOG_APPEND_LOGIC',1);   --静态参数,修改后需要重启数据库

    3、测试对在线日志做挖掘:

    dbms_logmnr.add_logfile('E:DMdataDAMENGDAMENG01.log');

     

    2. 挖掘步骤

    1、检查是否开启归档和附加日志

       select SF_GET_PARA_VALUE(1,'arch_ini');

       select SF_GET_PARA_VALUE(1,'RLOG_APPEND_LOGIC');

    2、步骤

    --根据需求定位到需要做日志分析的归档日志文件

    --添加归档日志

    dbms_logmnr.add_logfile('E:DMdataarchARCHIVE_LOCAL1_0x6B6167C6[0]_2021-08-17_14-59-15.log');

    --查询已添加的分析日志

    select * from v$logmnr_logs;

    --开始日志挖掘

    DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2048 );

    select scn,START_SCN,commit_scn,timestamp,start_timestamp,COMMIT_TIMESTAMP,operation,sql_redo from V$logmnr_contents;

     

    DBMS_LOGMNR.START_LOGMNR存在过程的options选项:

    COMMITTED_DATA_ONLY2):仅从已交的事务的日志中挖掘信息

    DICT_FROM_ONLINE_CATALOG16):使用在线字典

    NO_SQL_DELIMITER64):拼写的SQL语句最后不添加分隔符

    NO_ROWID_IN_STMT2048):拼写的SQL语句中不包含ROWID

    Options取值为各个选项值的组合求和。

    3. 挖掘数据分析

    3.1. 修改

    3.1.1. 无主键表

    DBMS_LOGMNR.START_LOGMNR(OPTIONS=>16 );--使用在线字典对日志进行分析

     

     无主键的表,过滤条件是包括所有的列。

    3.1.2. 有主键表

    DBMS_LOGMNR.START_LOGMNR(OPTIONS=>16 );--使用在线字典对日志进行分析

     

     有主键的表,过滤条件只包括主键列。修改主键也同理。 

    3.2. 插入

     

    3.3. 删除

     

     3.4. 结论

    查询挖掘信息表:

    select sql_redo,scn,START_SCN,commit_scn,timestamp,start_timestamp,COMMIT_TIMESTAMP,operation from V$logmnr_contents; 

    通过挖掘信息表可以清楚了解执行了哪些SQL和执行时间,但是无法通过日志挖掘找回修改、删除前的值。 

    4. 结束挖掘

     --停止日志挖掘

     DBMS_LOGMNR.END_LOGMNR();

    更多资讯请上达梦技术社区了解: https://eco.dameng.com

    24小时免费服务热线:400 991 6599

  • 相关阅读:
    spring中的Filter使用
    跨站脚本(XSS)攻击
    RepeatSubmitInterceptor extends HandlerInterceptorAdapter
    理解TCP
    Github(第一次尝试)
    MVC(实战二:网址映射)
    MVC(实战一)
    MVC(基础二)
    WinFrom和WebFrom的区别
    MVC(基础一)
  • 原文地址:https://www.cnblogs.com/last-one/p/15169428.html
Copyright © 2020-2023  润新知