OGG trail文件损坏处理办法(OGG-01028)

来源:这里教程网 时间:2026-03-03 19:48:28 作者:

故障描述用户反馈,ogg未实时同步至目标,检查发现是应用进程abended,具体报错如下: 分析排查ogg日志提示很明确,存在损坏的记录使用logdump进一步查看该trail文件损坏程度,如下: 继续查看,发现全是图示损坏的记录 (参考官方文档: How to Recover from an OGG-01028 Incompatible Record If the Trail Is Not Corrupt (文档 ID 1507462.1)   到这里基本已经可以判断出 4835这个 trail文件已经损坏,如果需要继续应用的话就要跳到下一个 trail文件,但是这样做会导致数据的丢失,造成不一致,最终可能需要重新初始化或者重新同步涉及到数据丢失的表。  

解决思路

目标端trail文件损坏,多半是在传输过程中造成的,那么生产是否还有 trail 文件存在,如果有是否可以将生产的 trail 文件重新传输一份  。

检查生产端保留的 trail 文件,发现生产端还保留有文件,则打算将生产的 trail 重新传输  。

记录应用进程当前检查点( 2019-05-07 17:10:44.596007

那么我们将 trail 文件提前一点开始传输,如从 4831 开始传输  , 目标端应用进程先不做变动,重启下 mgr进程,将现有的 trail文件重命名掉 

生产端停止传输进程,指定传输进程到 4831 rba 0 ,开始传输,报错如下:  

OGG-01496  Oracle GoldenGate Capture for Oracle, sx_dmp.prm:  Failed to open target trail file ./dirdat/tz004835, at RBA 1370.  

因为目标端现在文件都已经重命名,所以这边传输过去的时候找不到原来的点续传  

决定删除传输进程,重建传输进程后,指定到刚才的文件开始传输  

重建传输进程后,在目标端看到的 trail 文件重新从 0 开始计算

目标端已经接收到新的 trail 文件,但是当前应用进程的记录还是在 4835 这个文件,直接启动应用进程将报错,找不到 4835 文件  ,如下:

所以,需要将应用进程指定到新传过来的第一个 trail 文件,并按照时间启动应用进程

alter tzrep extseqno 0 extrba 0 
alter replicat tzrep begin 2019-05-07 17:10:44.596007

启动进程后,可以正常应用 。本次目标端文件损坏,因为源端还保留有trail文件且是完好的,所以可以使用源端文件重新传输并应用的方式,避免数据丢失。

相关推荐