达梦归档日志挖掘

==前提条件
1、开启归档
2、参数RLOG_APPEND_LOGIC不能等于0,如果值为0,则无法查询出结果,该参数为动态参数,可以在线修改

检查归档与记录逻辑操作功能:
select para_name,para_value from v$dm_ini where para_name='RLOG_APPEND_LOGIC';
select para_name,para_value from v$dm_ini where para_name='ARCH_INI';

参数解释:
RLOG_APPEND_LOGIC:是否启用在日志中记录逻辑操作的功能,取值范围 0、1、2、3、4
0:不启用;1、2、3、4 启用。(默认值)
1:如果有主键列,记录 UPDATE 和 DELETE 操作时只包含主键列信息,若没有主键列则包含所有列信息;
2:不论是否有主键列,记录 UPDATE 和 DELETE 操作时都包含所有列的信息;
3:记录 UPDATE 时包含更新列的信息以及 ROWID,记录 DELETE 时只有 ROWID;
4:只生成事务以及 DDL 相关的逻辑日志

=开启归档
alter database mount;
alter database add archivelog 'DEST=/dm/arch(位置),TYPE=local,FILE_SIZE=1024,space_limit=10240';
alter database archivelog;
alter database open;
select para_name,para_value from v$dm_ini where para_name='ARCH_INI';


=设置RLOG_APPEND_LOGIC
sp_set_para_value(1,'RLOG_APPEND_LOGIC',2);
select para_name,para_value from v$dm_ini where para_name='RLOG_APPEND_LOGIC';

=重启数据库生效

==日志挖掘
日志挖掘前,建议切换当前日志文件,防止要挖掘的信息存放在redo日志中。

=切换命令
alter system switch logfile;

1、查询时间范围内数据库日志,最好将第一步查询时间往前几分钟查询

select NAME,FIRST_TIME from v$archived_log where FIRST_TIME >'2023-12-05 10:00:08';

2、 加载查询日志
call dbms_logmnr.add_logfile('/dm8/dmarch/ARCHIVE_LOCAL1_0x1CAC5C38_EP0_2023-12-05_10-01-56.log');

3、 启动日志挖掘
call dbms_logmnr.start_logmnr(
    options  => 2128
   ,starttime=> to_date('2023-12-05 10:00:08','yyyy-mm-dd hh24:mi:ss')
   ,endtime  => sysdate
);

4、查询v$logmnr_contents表中的信息
select sql_redo from v$logmnr_contents where sql_redo like '%T%' ORDER BY timestamp;

5、结束日志挖掘
call dbms_logmnr.end_logmnr();

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值