• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

LOGMNR分析redo日志,出现ORA-01291错误

公司要求使用LOGMNR去分析oracle的redo日志,来实现数据同步的功能。现在遇到以下问题,希望有大神助我。我是参考这个链接的https://www.cnblogs.com/shishanyuan/p/3140440.html


为了测试,我将三个redo日志(redo01.log,redo02.log,redo03.log)的大小都设置的很小,均为5M.
假设,我现在往库中插入20w条数据。按照日志切换的概念,这20w的数据是可以保证这三个日志发生切换的,切换顺序假如是从redo01.log切换到redo02.log日志,再从redo02.log切换到redo03.log日志时,下一次切换应该就是从redo03.log切换到redo01.log,这样循环切换的。


使用LOGMNR分析的语句如下:


a.首先添加三个日志文件,待分析



b.更新数据字典(数据字典之前已创建完成)



c.执行分析(以SCN作为限制)
182026omeo4xr4yf47r74g.jpg



d.查询分析结果(因为我是就SYNC这个用户执行的插入20w条数据,所以我只查询这个用户的)
182029kowels52vr6r5kyo.jpg



我又对分析结果进行了一次聚合



问题出现了,发现聚合后的结果没有20w,只有13w多,也就是说丢失了近7w的数据?
猜想:应该是日志发生了循环切换,从redo03.log切换到redo01.log的过程导致redo01.log的日志被覆盖了,所以,我分析的相当于是切换后,redo01.log被覆盖后的结果。
182048vifnndaiyvv5n3ok.jpg



所以,我如果用上面的分析方式,是会存在数据被覆盖的问题的,那我应该如何知道日志何时切换,以及如果知道了日志切换的时间,如何根据SCN进行分析日志结果呢?


另,如果SCN不在日志范围内,有时会抛出如下异常:
ORA-01291: 缺失日志文件
ORA-06512: 在 "SYS.DBMS_LOGMNR", line 58
ORA-06512: 在 line 1


希望得到大神的帮助。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!