HP平台上的goldengate多一个反斜杠,导致MGR进程不能自动清除trail文件

来源:这里教程网 时间:2026-03-03 16:45:39 作者:

1 在运维的多个系统中,发现goldengate的MGR多一段时间,就不能自动清理trail文件,需要重新启动才可以清理,就想查明根本原因。 2   MGR 管理进程的参数配置: 源端和目标端trail 文件号的比较,认为不会由于源端和目标端trail 文件号相差太大而引起MGR 不能删除trail 的问题: 3 问题追踪 2014 年9月1日: 2014 年9月4日: 2014 年9月5日: 9 月16日,发现MGR不能清理trail文件了,但多了一个反斜杠:  9 月22日: 10 月10日: 发现MGR不能自动清除3天前的老的trail文件,使用refresh命令,发现MGR已经不能自动清除过期的trail文件。 关闭MGR,并重新启动MGR,发现又可以自动清理老的trail文件: 根据goldengate 的清除trail 文件规则: 刷新MGR 参数,看看MGR 清除trail 文件的规则是否有变化: 重新启动MGR ,查看MGR 清除trail 文件的规则: 现象描述:      11.1.1.0.3 版本的goldengate 运行一段时间后,无法自动清除trail 文件;使用refresh mgr 命令,让MGR 管理进程重新读取MGR 参数文件,MGR 管理进程就会自动清除3 天以前的trail 文件;但此时观察MGR 报告,会发现清除的trail 文件路径前多一个反斜杠('/' ;MGR 进程再次运行一段时间后,又不能自动清除trail 文件,再次使用refresh mgr 命令,MGR 管理进程又可以正常工作。直到trail 文件前的反斜杠('/' )达到3 个后,使用refresh mgr 命令已经不能使mgr 管理进程自动清除trail 文件,只能重启MGR 进程,才可以使得MGR 管理进程自动清除trail 文件。 原因分析      MGR 参数第一次启动时,会将MGR 参数文件读取到内存中运行,当运行一段时间后,由于某些事件的触发,会导致抽取的trail 文件的路径前多一个反斜杠('/' ),而清除TRAIL 文件的规则由于未增加一个反斜杠'/', goldengate 程序会认为抽取trail 的路径和清除trail 的路径不一致,达不到清除TRAIL 文件的条件,故会导致MGR 管理进程不能自动清除trail 文件;当使用refresh mgr 命令时, goldengate MGR 清除trail 文件规则中的Extract trails 的路径(///goldengate/dirdat/ea) 替换PurgeOldExtracts Rules 的路径(/goldengate/dirdat/*) ,此时达到清除TRAIL 文件的路径(///goldengate/dirdat/*) extract trails 的路径(///goldengate/dirdat/ea) 一致,故MGR 又可以正常的清除TRAIL 文件。当重新启动MGR 管理进程后,MGR 的管理进程的清除规则又恢复到原始状态,即MGR 清除规则中的抽取文件的路径(/goldengate/dirdat/ea) 和清除过期trail 文件的路径(/goldengate/dirdat/*) 恢复到正常状态,故又可以正确清除过期的trail 文件。     故认定此 MGR 管理进程运行一段时间后,不能自动清除 trail 文件的原因为: MGR 管理进程将 MGR 参数放到内存中运行一段时间,由于 goldengate 程序的 BUG ,导致自动清除 trail 文件的路径前多一个反斜杠( '/' ),从而导致 MGR 管理进程不能自动清除 trail 文件。

针对此事件,同ORACLE官方的人员沟通,他们认为是一个BUG。以下为oracle官方提供的部分佐证材料:

 1 申请了2个SR,严重性为2和3.

 2 SR级别为普通的答复如下:

 3 SR级别为严重的答复如下:

总结:根据oracle 官方工程师所述,他们认为MGR 进程不能正常清除trail 文件,就是一个BUG ,因此建议升级goldengate 11.2.

相关推荐