ogg源端目标端trail文件不对应缺失解决

本文记录了一次Oracle GoldenGate在运行过程中遇到的错误及解决过程。详细介绍了从错误日志中发现问题到采取措施重置trail文件和投递进程的具体步骤,并提供了相关错误代码的文档链接。

错误

2020-10-09 17:10:28  INFO    OGG-00993  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  EXTRACT PUMPHC started.
2020-10-09 17:10:33  INFO    OGG-01226  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  Socket buffer size set to 100000 (flush size 300000).
2020-10-09 17:10:33  INFO    OGG-01055  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  Recovery initialization completed for target file ./dirdat/hc000426, at RBA 16854.
2020-10-09 17:10:33  INFO    OGG-01478  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  Output file ./dirdat/hc is using format RELEASE 11.2.
2020-10-09 17:10:33  INFO    OGG-01026  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  Rolling over remote file ./dirdat/hc000427.
2020-10-09 17:10:33  ERROR   OGG-01337  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  Trail file ./dirdat/hc000427, IO error 0 ().
2020-10-09 17:10:34  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle, PUMPHC.prm:  PROCESS ABENDING.
2020-10-09 17:14:52  INFO    OGG-01085  Oracle GoldenGate Command Interpreter for Oracle:  ggsci received window closed event.

重置trail文件

# 重置投递
stop EXTRACT  pumphc  
ALTER EXTRACT pumphc  EXTSEQNO 0
ALTER EXTRACT pumphc  EXTRBA 0
 ALTER EXTRACT pumphc  ETROLLOVER
start EXTRACT  pumphc  
# 重置复制进程
stop replicat RHCP
ALTER replicat RHCP EXTSEQNO 0
ALTER replicat RHCP EXTRBA 0
 ALTER replicat RHCP ETROLLOVER
start  replicat   RHCP

ogg error code doc

https://www.yumpu.com/en/document/read/13627234/oracle-goldengate-error-messages-guide-docs-oracle

https://blog.youkuaiyun.com/huoshuyinhua/article/details/60129685

<think>嗯,用户这次明确需要OGG目标端手动清除trail文件的指南,看来是遇到了文件堆积问题。结合之前提供的错误日志参考(虽然和当前需求关联大),但能看出用户有基本运维经验。实际场景可能是目标端磁盘空间告急,需要紧急清理trail文件,但又担心误删导致数据一致。用户提到“手动清除”,暗示需要避开自动管理机制的特殊操作流程。考虑到OGG的严谨性,必须强调清理时机和检查点状态的关联性。需要分三部分说明:先确认检查点(避免数据丢失风险),再具体操作命令(区分GGSCI和操作系统层面),最后说明清理后的必要检查步骤。特别要注意提醒extract/rplprocess状态检查,这是新手容易忽略的关键点。上次回答提到的文件堆积问题果然引申出具体需求了,这次需着重补充replicat滞后检查的具体命令和清理后序列号验证,这两个是实际运维中最关键的细节。另外用户引用里那个TCP错误113虽然无关,但可能是导致trail堆积的诱因,可以最后轻描淡写提一句关联排查,既显专业又避免转移焦点。需要预警的操作风险有两个:一是清理未处理的trail文件会永久丢失数据,二是文件名序列跳跃可能导致进程异常终止。得用强烈语气标注警告符号,但又要避免吓退用户,所以把防护措施放在步骤里(比如检查点覆盖验证)。对于追求效率的DBA,补充说明操作系统直接删除和purgoldfiles的区别也很必要——前者是应急方案,后者才是标准流程。</think> 在Oracle GoldenGate(OGG目标端手动清理Trail文件需严格遵循操作流程,避免数据丢失或进程中断。以下是详细步骤: --- ### **手动清理Trail文件步骤** 1. **确认检查点位置** 登录目标端GGSCI命令行,检查Replicat进程状态: ```sql GGSCI> info REPLICAT <进程名>, showch ``` 记录`Checkpoint Lag`和`RBA`(Read Boundary Address)值,确保所有数据已应用。 2. **删除已处理的Trail文件** - **方案1:通过GGSCI命令清理** ```sql GGSCI> DELETE EXTTRAIL /ogg/dirdat/rt* ``` 此命令仅删除**已被进程完全处理**的文件(RBA之前的所有文件)。 - **方案2:操作系统手动删除** 若需删除特定文件(如`/ogg/dirdat/rt0000123`),需确保: - Replicat进程当前读取位置**高于**该文件名序列号(例:若检查点RBA=456,则文件名小于`rt0000456`的文件可删)。 - 进程处于运行状态: ```sql GGSCI> status REPLICAT <进程名> ``` 3. **清理后验证** - 检查剩余Trail文件是否包含未处理数据: ```sql GGSCI> view report <Replicat进程名> ``` 搜索`Current RBA`值,确认其高于保留文件的最小序列号。 - 监控进程延迟: ```sql GGSCI> send REPLICAT <进程名>, lag ``` --- ### **关键注意事项** - **警告** 要删除**未完成处理**的文件文件名序列号 ≥ Checkpoint RBA),否则触发错误: ```sql ERROR OGG-01222 (File not found) ``` - **文件命名规则** Trail文件名(如`rt0000456`)末尾数字即序列号,需与RBA匹配。 - **高可用建议** 生产环境优先使用`PURGEOLDEXTRACTS`自动清理,避免手动误删[^1]: ```sql GGSCI> ADD EXTTRAIL /ogg/dirdat/rt, EXTSOURCE ./dirdat/et GGSCI> ALTER REPLICAT <进程名> PURGEOLDEXTRACTS ``` --- ### **关联排查** 若清理后进程报错`No route to host`(引用[^1]错误),检查: 1. 网络连通性:`ping <IP>` 2. OGG口状态:`netstat -an | grep <OGG口号>` 3. 防火墙策略:开放指定口双向通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员石磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值