检查点表即使在创建后也不存在

时间:2014-09-04 18:14:32

标签: oracle-golden-gate

我为replicat rep1创建了检查点表ggate,但我仍然遇到以下错误:

  

2014-09-04 23:38:21错误OGG-00446 Oracle GoldenGate交付   Oracle,REP1.prm:检查点表ggate.checkpoint不存在。   请创建表或使用正确的方式重新创建REP1组   表

     

2014-09-04 23:38:21错误OGG-01668 Oracle GoldenGate交付   Oracle,REP1.prm:PROCESS ABENDING。

谁能告诉我如何解决它?

2 个答案:

答案 0 :(得分:0)

在这种情况下你应该:

  1. 您实际上是否正在运行ADD CHECKPOINTTABLE?如果没有运行

  2. 检查检查点表是否实际存在于数据库中 - 如果已创建 - 尝试删除它(DROP CHECKPOINTTABLE)并重新创建它(ADD CHECKPOINTTABLE)

  3. 检查GLOBALS配置文件中是否正确设置了检查点参数

  4. 重新启动MGR和Extract / Replicat进程

  5. 验证用户是否可以访问数据库到检查点表(插入,更新,删除权限)

  6. 如果没有任何效果,请在目标数据库上运行10046标志并检查GoldenGate Replicat进程在数据库上执行的内容以及实际失败的时间(它想要在数据库上执行的操作并尝试执行相同的命令你自己)

答案 1 :(得分:0)

这是一个简单的故障排除计划:

  1. 您使用的是传统的非CDB数据库还是PDB?

  2. 您使用的是经典架构还是微服务架构? -添加检查点表时的不同方法。

  3. 您如何运行ADD CHECKPOINTTABLE?是从GGSCI / AdminClient还是从HTML5页面?

  4. 在经典体系结构中,您是否在GLOBALS中设置了CHECKPOINTTABLE参数? (CHECKPOINTTABLE [容器。] owner.table)

  5. 与使用DBLOGIN USERIDALIAS时一样,您是谁登录数据库的?

  6. 您使用的是什么副本? -经典,协调,集成,并行?

  7. 检查表应该位于的架构?如果不存在,则可以查询DBA_TABLES视图以获取检查点表的名称,并查看谁拥有它。

很多时候无法创建checkpint表是由于未更新GLOBALS文件和/或以正确用户身份连接到数据库。