暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DDL导致的ogg Replicat Abends :OGG-00519 & ORA-01435

原创 Demo同学 2022-09-19
2877
一、问题概述

ogg链路正常同步进程,源端执行DDL操作(新增一张表),导致Replicat Abends :ERROR OGG-00519 Fatal error executing DDL replication: error [Error code[1435],ORA-01435:user does not exist],no eeror handler present.

复制进程Abends,DDL同步失败(参数中已支持DDL同步)

 

二、问题原因

核心原因:在源数据库上,将针对对象(例如位于不同schema中的约束)发出一些 DDL。比如DDL由不是表TABLE2 所有者的用户schema1对表shcema2.table2执行.

SQL > Show user

SCHEMA1

SQL> alter index SCHEMA2.SYS_C0025023 monitoring usage;

 

而ogg复制进程的参数配置:

replicat r_dor

userid ggs password ***

discardfile ./dirrpt/r_dor, purge, megabytes 100

DDL INCLUDE MAPPED

map SCHEMA2.* target SCHEMA2.*;

        ogg的 REPLICAT 将运行 ALTER SESSION SET CURRENT_SCHEMA 更改为 SCHEMA1,后者针对表 SCHEMA2.TABLE2 发出 DDL。然后将运行映射表 SCHEMA2.TABLE2 的 DDL 以执行“更改索引 SCHEMA2.SYS_C0025023 监视使用情况;”,

        如果用户 SCHEMA1 在产生错误的目标中不存在,则出现如上报错。无论如何都不能找到 SCHEMA1 执行 SET CURRENT_SCHEMA 命令,因为它只是用户执行命令,而 ALTER 命令应该针对 map 语句中的目标模式 SCHEMA2

        在上面的例子中,Goldengate 将尝试根据跟踪数据将目标模式更改为 SCHEMA1。ALTER SESSION SET CURRENT_SCHEMA="SCHEMA1" 因为这是在针对与 TABLE2 关联的系统对象发出 DDL 时schema处于活动状态的模式,该系统对象具有“alter index SCHEMA2.SYS_C0025023 monitoring usage;”

三、解决方案

添加复制进程的参数:

DDLERROR 1435 IGNORE INCLUDE OPTYPE ALTER OBJTYPE SESSION

如果不存在该用户则直接忽略相关的日志记录操作

四、参考文档

参考官方文档:MOS:Doc ID 1393463.1 和 Doc ID 1491646.1

Replicat Fails with ORA-01435 While Processing DDL Operation (Doc ID 1393463.1)

Replicat Abends with OGG-00519 Fatal Error Executing DDL Replication (Doc ID 1491646.1)

最后修改时间:2022-09-19 18:05:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论