WARNING OGG-00869

本文解决Oracle GoldenGate在应用过程中出现的OGG-00869警告问题,该警告表明某表未定义唯一键,使用所有可用列作为键但无法确保唯一性。

gg配置完毕后,在应用的过程中一直会报一个警告(之前有个网友也问过我这个问题):

2012-05-02 11:38:34  WARNING OGG-00869  Oracle GoldenGate Delivery for Oracle, repksr1.prm:  No unique key is defined for table KPIDATA. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.

主要意思是说该表没有主键,使用KEYCOLS代替。

查询官方说明如下:

OGG-00869: {0}
Cause: The specified database error occurred, but can be ignored.
Action: Contact Oracle Support only if a problem persists.

由于这只是个警告,况且对实际的应用也没什么影响,是可以忽略掉的。


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25618347/viewspace-722550/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25618347/viewspace-722550/

### Oracle GoldenGate Delivery for SQL Server 中关于 Heartbeat 表未启用的问题及解决方案 在 Oracle GoldenGate Delivery for SQL Server 的配置中,如果出现 `OGG-02735` 错误提示心跳表未启用(heartbeat table not enabled),这通常表明目标端的 Extract 或 Replicat 进程无法正常检测到源端的心跳表更新。以下是可能的原因及解决方法: #### 1. 心跳表未正确配置 确保在源端和目标端都已正确配置了心跳表。心跳表是 Oracle GoldenGate 用来监控数据流健康状态的一种机制。如果心跳表未启用或未正确配置,则可能导致此错误。 ```sql -- 在源端数据库中创建心跳表 CREATE TABLE GGS_HEARTBEAT ( HEARTBEAT_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 确保心跳表被包含在 Extract 参数文件中 EXTRACT ext1 SETENV (HEARTBEATINTERVAL=60) TABLE GGS_HEARTBEAT; ``` 此外,在目标端的 Replicat 参数文件中也需要明确指定心跳表的映射[^1]。 #### 2. 源端 Extract 心跳间隔设置问题 检查源端 Extract 参数文件中的心跳间隔设置是否合理。可以通过以下参数调整心跳间隔: ```plaintext -- 在 Extract 参数文件中设置心跳间隔 SETENV (HEARTBEATINTERVAL=60) ``` 确保该值与目标端的监控频率匹配,否则可能导致心跳表未能及时更新,从而触发错误[^2]。 #### 3. 数据传输延迟或中断 如果源端和目标端之间的网络连接不稳定,可能会导致心跳表的数据未能及时传递到目标端。这种情况下,可以尝试以下措施: - 增加日志记录级别以排查网络延迟问题。 - 使用 `ggsci` 命令监控 Extract 和 Replicat 的状态,确保两者之间没有数据积压。 ```bash -- 使用 ggsci 命令检查进程状态 GGSCI> INFO ALL ``` #### 4. 目标端 Replicat 配置问题 目标端的 Replicat 参数文件中需要明确指定如何处理心跳表的数据。例如: ```plaintext -- 在 Replicat 参数文件中添加心跳表映射 MAP GGS_HEARTBEAT, TARGET GGS_HEARTBEAT; ``` 同时,确保目标端数据库中已存在对应的心跳表结构,并且权限设置正确[^3]。 #### 5. 日志文件分析 如果上述步骤均未解决问题,可以进一步分析目标端的日志文件 `ggserr.log` 和 `replicat.log`,查找更详细的错误信息。例如: ```plaintext 2023-10-01 12:00:00 ERROR OGG-02735 Oracle GoldenGate Delivery for SQL Server, heartbeat table not enabled. ``` 根据日志中的具体错误代码和描述,定位问题的根本原因并采取相应措施[^4]。 ### 示例代码:心跳表同步配置 以下是一个完整的示例,展示如何在 Oracle GoldenGate 中配置心跳表以避免 `OGG-02735` 错误: ```sql -- 源端数据库中创建心跳表 CREATE TABLE GGS_HEARTBEAT ( HEARTBEAT_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 在源端 Extract 参数文件中配置心跳表 EXTRACT ext1 SETENV (HEARTBEATINTERVAL=60) TABLE GGS_HEARTBEAT; -- 在目标端 Replicat 参数文件中映射心跳表 MAP GGS_HEARTBEAT, TARGET GGS_HEARTBEAT; ``` --- ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值