千家信息网

Oracle 19C OGG基础运维-08Error code [942]

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,Oracle 19C OGG基础运维-08Error code [942]问题:源端:删除dept_bak表目标端:在数据同步时找不到dept_bak表,进程ABENDING,同步中断。错误日志如下:
千家信息网最后更新 2025年11月07日Oracle 19C OGG基础运维-08Error code [942]

Oracle 19C OGG基础运维-08Error code [942]

问题:

源端:删除dept_bak表

目标端:在数据同步时找不到dept_bak表,进程ABENDING,同步中断。

错误日志如下:

Fatal error executing DDL replication: error [Error code [942], ORA-00942: table or view does not exist], no error handler present.

目标端详细日志如下:

[oracle@cjcos02 ogg]$ tail -f ggserr.log

2020-04-10T20:48:13.291+0800 INFO OGG-00484 Oracle GoldenGate Delivery for Oracle, rep_01.prm: Executing DDL operation.

2020-04-10T20:48:13.919+0800 ERROR OGG-00519 Oracle GoldenGate Delivery for Oracle, rep_01.prm: Fatal error executing DDL replication: error [Error code [942], ORA-00942: table or view does not exist], no error handler present.

2020-04-10T20:48:20.064+0800 INFO OGG-02333 Oracle GoldenGate Delivery for Oracle, rep_01.prm: Reading /ogg/dirdat/dp000000004, current RBA 10,276, 0 records, m_file_seqno = 4, m_file_rba = 11,586.

2020-04-10T20:48:20.065+0800 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_01.prm: PROCESS ABENDING.

查看进程状态

GGSCI (cjcos02) 16> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

REPLICAT ABENDED REP_01 00:03:15 00:22:09

重启进程问题依旧存在

GGSCI (cjcos02) 17> stop rep_01

REPLICAT REP_01 is already stopped.

GGSCI (cjcos02) 17> start rep_01

GGSCI (cjcos02) 16> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

REPLICAT ABENDED REP_01 00:03:15 00:22:09

问题原因:

一开始源端extract进程和目标端replicat进程参数文件中没有通过*来匹配所有表,而是指定了固定的表。

例如:

---extract

TABLE cjcpdb.cjc.emp;

TABLE cjcpdb.cjc.dept;

TABLE cjcpdb.cjc.bonus;

TABLE cjcpdb.cjc.salgrade;

TABLE cjcpdb.cjc.dummy;

---replicat

MAP cjcpdb.cjc.emp, TARGET chenpdb.chen.emp;

MAP cjcpdb.cjc.dept, TARGET chenpdb.chen.dept;

MAP cjcpdb.cjc.bonus, TARGET chenpdb.chen.bonus;

MAP cjcpdb.cjc.salgrade, TARGET chenpdb.chen.salgrade;

MAP cjcpdb.cjc.dummy, TARGET chenpdb.chen.dummy;

再此期间在源端创建了一张测试表dept_bak;

源端:

create table dept_bak as select * from dept;

由于之前的配置,这个操作不会同步到目标端。

后来,将源端extract进程和目标端replicat进程参数文件修改为通过*来匹配用户下所有表。

例如:

---extract

TABLE cjcpdb.cjc.*;

---replicat

MAP cjcpdb.cjc.*, TARGET chenpdb.chen.*;

重启extract和relicat进程后,发现源端比目标端多了一张测试表dept_bak,

在源端手动删除这张表,由于目标端没有这张表,drop命令在同步到目标端时发生错误提示找不到表,最终导致目标端恢复进程replicat挂起。

解决方案:目标端修改参数,跳过942错误

GGSCI (cjcos02) 19> edit param rep_01

GGSCI (cjcos02) 20> view param rep_01

replicat rep_01

setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

userid ogg@chenpdb,password oracle

assumetargetdefs

reperror default,discard

discardfile ./dirrpt/replzl.dsc,append,megabytes 50

DDL INCLUDE MAPPED

DDLOPTIONS REPORT

DDLERROR 942 IGNORE

MAP cjcpdb.cjc.*, TARGET chenpdb.chen.*;

---MAP cjcpdb.cjc.emp, TARGET chenpdb.chen.emp;

---MAP cjcpdb.cjc.dept, TARGET chenpdb.chen.dept;

---MAP cjcpdb.cjc.bonus, TARGET chenpdb.chen.bonus;

---MAP cjcpdb.cjc.salgrade, TARGET chenpdb.chen.salgrade;

---MAP cjcpdb.cjc.dummy, TARGET chenpdb.chen.dummy;

重启replicat进程后恢复正常

GGSCI (cjcos02) 23> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

REPLICAT RUNNING REP_01 00:00:00 00:00:02

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

目标 进程 同步 参数 错误 问题 文件 日志 测试 基础 公众 原因 命令 手动 数据 方案 状态 用户 而是 解决方案 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机网络安全性类型 北京大学微电子软件开发 关于网络安全网络文明 图文分析数据库 湛江网络技术有限公司 主从数据库是分布式数据库吗 网络技术基础形考3 好的网络技术培训学费 中国矿业大学网络安全系官网 手机软件开发的技术培训 网络技术员指导教师评语 靠谱的app软件开发公司 二手服务器回收后怎么处理 网络安全专题的亮点概括 服务器ad域用户管理 河北工业软件开发直销价格 中信银行软件开发待遇 知网数据库的数据都有版权吗 网络安全性是什么 黑魂三进不了服务器 福州爱特网络技术有限公司 竞技科技网络技术有限公司 pc端游方舟怎么去服务器 零基础的人做软件开发工作 上海东纪互联网科技有限公司 python 实时数据库 肇庆软件开发公司app开发 电话号码数据库数据类型 浙江大美十网络技术有限公司 北京橙色云互联网科技公司
0