1 查看OGG的状态 REPLICAT ABENDED REPCJA10 01:33:01 00:00:08 2 查看报错信息,发现报ORA-1400,由于不能插入空值到非空的列。 2021-08-08 08:25:10 WARNING OGG-01154 SQL error 1400 mapping SOURCE.TB_A to TARGET.TB_A OCI Error ORA-01400: cannot insert NULL into ("TARGET"."TB_A"."ID") (status = 1400). INSERT INTO "TARGET"."TB_A" ("ID","COLUMN2","COLUMN3","COLUMN4","COLUMN5","COLUMN6","COLUMN7","COLUMN8") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9). 2021-08-08 08:25:10 WARNING OGG-01003 Repositioning to rba 95054448 in seqno 84900. Source Context : SourceModule : [er.errors] SourceID : [/scratch/pradshar/view_storage/pradshar_pse_15852019/oggcore/OpenSys/src/app/er/errors.cpp] SourceFunction : [take_rep_err_action] SourceLine : [623] ThreadBacktrace : [8] elements : [/goldengate/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x7fc8cee4471e]] : [/goldengate/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2cc) [0x7fc8cee3d6bc]] : [/goldengate/libgglog.so(_MSG_ERR_MAP_TO_TANDEM_FAILED(CSourceContext*, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, ggs::gglib::ggapp::CQualDBObjName<(D BObjType)1> const&, CMessageFactory::MessageDisposition)+0x53) [0x7fc8cee39581]] : [/goldengate/replicat(take_rep_err_action(short, int, char const*, extr_ptr_def*, __std_rec_hdr*, char*, file_def*, bool)+0xdac) [0x521a80]] : [/goldengate/replicat(process_extract_loop()+0x2388) [0x53ad18]] : [/goldengate/replicat(main+0x732) [0x54cbd2]] : [/lib64/libc.so.6(__libc_start_main+0xf5) [0x7fc8c92163d5]] : [/goldengate/replicat(__gxx_personality_v0+0x31a) [0x4c0c6a]] 2021-08-08 08:25:10 ERROR OGG-01296 Error mapping from SOURCE.TB_A to TARGET.TB_A. 3 查看表的定义,发现源端对应的列ID为可为空 目标端: SYS@target3 >desc TARGET.TB_A Name Null? Type ----------------------------- -------- ----------------------- ID NOT NULL VARCHAR2(20 CHAR) COLUMN2 VARCHAR2(8 CHAR) COLUMN3 VARCHAR2(6 CHAR) COLUMN4 VARCHAR2(16 CHAR) COLUMN5 NOT NULL DATE COLUMN6 NUMBER(16,2) 源端: SYS@source1 >desc SOURCE.TB_A Name Null? Type ------------------------- -------- -------------------- ID VARCHAR2(20) COLUMN2 VARCHAR2(8) COLUMN3 VARCHAR2(6) COLUMN4 VARCHAR2(16) COLUMN5 NOT NULL DATE COLUMN6 NUMBER(16,2) 4 查看表创建的索引,发现有主键索引 alter table SOURCE.TB_A add constraint PK_TB_A primary key (COLUMN7, COLUMN8, COLUMN5) INDEX_OWNER INDEX_NAME TABLE_OWNER TABLE_NAME COLUMN_NAME STATUS ------------------ ------------- -------------------------- ----------------- -------- SOURCE PK_TB_A SOURCE TB_A COLUMN5 N/A SOURCE PK_TB_A SOURCE TB_A COLUMN7 N/A SOURCE PK_TB_A SOURCE TB_A COLUMN8 N/A 5 根据报错信息,到源端查看对应的数据,发现源端对应的列的数据为空值,故认为可以将ID列更改为可为空。 Mapping problem with insert record (target format)... ID = COLUMN2 = 01 COLUMN3 = 61102 COLUMN4 = 614015408 COLUMN5 = 2021-08-06 00:00:00 COLUMN6 = 3.73 COLUMN8 = 3156253766 COLUMN7 = 6130001001937044009851 SYS@source1 > select a.id,a.COLUMN7,a.COLUMN8,a.COLUMN5 from SOURCE.TB_A a 2 where a.COLUMN7 = '6130001001937044009851' and a.COLUMN8 = '3156253766' and a.COLUMN5 = to_date('2021-08-06 00:00:00','yyyy-mm-dd hh24:mi:ss'); ID COLUMN7 COLUMN8 COLUMN5 -------------------- -------------------------------- ---------------- ------------ 6130001001937044009851 3156253766 06-AUG-21 ID = COLUMN2 = 01 COLUMN3 = 61102 COLUMN4 = 614015503 COLUMN5 = 2021-08-06 00:00:00 COLUMN6 = 6.02 COLUMN8 = 3891912490 COLUMN7 = 6130001021837016990412 select a.id,a.COLUMN7,a.COLUMN8,a.COLUMN5 from SOURCE.TB_A a where a.COLUMN7 = '6130001021837016990412' and a.COLUMN8 = '3891912490' and a.COLUMN5 = to_date('2021-08-06 00:00:00','yyyy-mm-dd hh24:mi:ss'); ID COLUMN7 COLUMN8 COLUMN5 -------------------- -------------------------------- ---------------- ------------ 6130001021837016990412 3891912490 06-AUG-21 ID = COLUMN2 = 01 COLUMN3 = 61102 COLUMN4 = 614024617 COLUMN5 = 2021-08-06 00:00:00 COLUMN6 = 12.58 COLUMN8 = 3914018563 COLUMN7 = 6130001001937022530278 select a.id,a.COLUMN7,a.COLUMN8,a.COLUMN5 from SOURCE.TB_A a where a.COLUMN7 = '6130001001937022530278' and a.COLUMN8 = '3914018563' and a.COLUMN5 = to_date('2021-08-06 00:00:00','yyyy-mm-dd hh24:mi:ss'); ID COLUMN7 COLUMN8 COLUMN5 -------------------- -------------------------------- ---------------- ------------ 6130001001937022530278 3914018563 06-AUG-21 5 修改表的ID列为可为空 alter table TARGET.TB_A modify id null; 6 启动OGG进程,进程恢复正常
OGG在插入数据时报ORA-01400
来源:这里教程网
时间:2026-03-03 16:52:35
作者:
编辑推荐:
- OGG在插入数据时报ORA-0140003-03
- 【INDEX】Oracle分区索引技术详解03-03
- 某业务系统的监听每过10天左右,就异常终止一次TNS-1253703-03
- [20210812]测试sql语句子光标的性能.txt03-03
- delete数据特别慢03-03
- 著名的ORA-1555:snapshot too old03-03
- Oracle 11g rac asm磁盘扩容03-03
- 【SCRIPT】Oracle日常巡检脚本通用版03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 【INDEX】Oracle分区索引技术详解
【INDEX】Oracle分区索引技术详解
26-03-03 - 某业务系统的监听每过10天左右,就异常终止一次TNS-12537
某业务系统的监听每过10天左右,就异常终止一次TNS-12537
26-03-03 - 云村,网易云音乐的扛把子?
云村,网易云音乐的扛把子?
26-03-03 - 【执行计划】Oracle获取执行计划的几种方法
【执行计划】Oracle获取执行计划的几种方法
26-03-03 - 亲身经历告诉大家,买房要选个像太平洋房产中介一样靠谱的品牌
亲身经历告诉大家,买房要选个像太平洋房产中介一样靠谱的品牌
26-03-03 - Oracle:cursor:mutex X
Oracle:cursor:mutex X
26-03-03 - 互联网巨头打响“适老化”战役
互联网巨头打响“适老化”战役
26-03-03 - 特斯拉重回卖车主线
特斯拉重回卖车主线
26-03-03 - 关于obsolete child cursor问题
关于obsolete child cursor问题
26-03-03 - SQL的reload以及Invalidations
SQL的reload以及Invalidations
26-03-03
