GoldenGate -- OGG EXTRACT进程 OGG-00446 报错

本文记录了一次Oracle GoldenGate(OGG)同步过程中出现的异常情况及解决方案。故障表现为EXTRACT进程异常中断,主要错误为OGG-00446,提示无法打开指定目录下的归档日志文件。文章提供了两种解决思路:一是尝试恢复缺失的日志文件;二是通过特定命令跳过错误位置继续同步,但可能导致数据不一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018-07-02 09:14:39  INFO    OGG-01513  Positioning to (Thread 1) Sequence 21890, RBA 5148688, SCN 0.470706262.

Source Context :
  SourceModule            : [er.common]
  SourceID                : [/scratch/aime1/adestore/views/aime1_adc4150256/oggcore/OpenSys/src/app/er/common.cpp]
  SourceFunction          : [extract_start_point]
  SourceLine              : [2090]
  ThreadBacktrace         : [7] elements
                          : [/u01/ogg/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x7f6009f0470e]]
                          : [/u01/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2cc) [0x7f6009efd6ac]]
                          : [/u01/ogg/libgglog.so(_MSG_ERR_CHECKPOINT_GENERIC(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x31) [0x7f
6009eeee09]]
                          : [/u01/ogg/extract(extract_start_point(time_elt_def*, time_elt_def*)+0x14e) [0x545abe]]
                          : [/u01/ogg/extract(main+0x3d7) [0x5738b7]]
                          : [/lib64/libc.so.6(__libc_start_main+0xfd) [0x3fd921ed1d]]
                          : [/u01/ogg/extract(__gxx_personality_v0+0x38a) [0x4edaba]]

2018-07-02 09:15:56  ERROR   OGG-00446  Opening ASM file +FRA/1_21890_961177454.dbf in DBLOGREADER mode: (308) ORA-00308: cannot open archived log '+FRA/1_2
1890_961177454.dbf'
ORA-17503: ksfdopn:2 Failed to open file +FRA/1_21890_961177454.dbf
ORA-15173: entry '1_21890_961177454.dbf' does not exist in directory '/'
Not able to establish initial position for sequence 21890, rba 5148688.

2018-07-02 09:15:56  ERROR   OGG-01668  PROCESS ABENDING.

0x00--环境:OGG -Oracle to Oracle,同构平台

0x01--故障现象:OGG同步异常中断,现象为EXTRACT进程Abending,报错信息如上:主要报错为OGG-00446,报错提示,无法打开归档日志文件

+FRA/1_21890_961177454.dbf,在指定目录不存在该文件。

 

0x02--解决思路:

    1、在源端查找归档日志,如有备份,则恢复至原有目录,重新启动EXTRACT抽取进程

    2、查询如果不存在该归档,且无备份,或者无法从备份中恢复出该归档日志,那么下一步有两个选择:

         ①允许部分数据丢失:查询目前源端最大的Sequence,与报错position指向的Sequence比较,跳过该报错点,继续EXTRACT,

1 SQL>select max(sequence#) from v$archived_log where thread#=1;
2 GGSCI>alter extract extxx thread 2,extseqno 21891,extrba 0

   注意:这种方案可能会导致数据不一致,跳过报错时间点,继续OGG同步进程。在生产环境不建议采取该方案。

    ②重新初始化数据

    这是最保险,最安全但也最耗时的方式。一定要做好数据备份,重新初始化。expdp/impdp进行数据重新初始化。

 

       

转载于:https://www.cnblogs.com/acdante/p/9252622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值