1 源端创建表:create table oggtest.test_id(id number,name varchar2(16)); 并添加附加日志:add trandata oggtest.test_id 2 目标端创建表:create table oggtest.test_id(id number,name varchar2(16),id2 number); 创建唯一索引,并将表的列置为不为空create unique index oggtest.idx_test_id on oggtest.test_id(ID2);alter table oggtest.test_id modify ID2 number not null; 目标端表如下:SYS@orcl>desc oggtest.test_id Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER NAME VARCHAR2(16) ID2 NOT NULL NUMBER 目标端配置的OGG参数如下:map oggtest.test_id,target oggtest.test_id; 3 插入数据,进行验证insert into oggtest.test_id values (1,'xue');commit; 4 查看OGG的状态及报错信息 查看OGG进程的状态,发现为abend MANAGER RUNNING REPLICAT ABENDED REPTB1 00:00:05 00:00:07 查看报错信息,为不能插入空置到非空列。但由于ID2为目标端自定义的一列,故决定使用序列,为插入的数据赋值。 2022-12-30 15:57:13 WARNING OGG-01154 SQL error 1400 mapping OGGTEST.TEST_ID to OGGTEST.TEST_ID OCI Error ORA-01400: cannot insert NULL into ("OGGTEST"."TEST_ID"."ID2") ( status = 1400). INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "OGGTEST"."TEST_ID" ("ID","NAME") VALUES (:a0,:a1). 2022-12-30 15:57:13 WARNING OGG-01003 Repositioning to rba 1724 in seqno 20. Source Context : SourceModule : [er.errors] SourceID : [/scratch/aime1/adestore/views/aime1_adc4150267/oggcore/OpenSys/src/app/er/errors.cpp] SourceFunction : [take_rep_err_action] SourceLine : [632] ThreadBacktrace : [12] elements : [/app/oracle/goldengate/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x2b6a770a061e]] : [/app/oracle/goldengate/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2ec) [0x2b6a7709915c]] : [/app/oracle/goldengate/libgglog.so(_MSG_ERR_MAP_TO_TANDEM_FAILED(CSourceContext*, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, ggs:: gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, CMessageFactory::MessageDisposition)+0x53) [0x2b6a7709512b]] : [/app/oracle/goldengate/replicat(take_rep_err_action(short, int, char const*, extr_ptr_def*, __std_rec_hdr*, char*, file_def*, bool)+0xaa7) [0x5 24c31]] : [/app/oracle/goldengate/replicat(process_extract_loop()+0x274c) [0x53e78c]] : [/app/oracle/goldengate/replicat(replicat_main(int, char**)+0x741) [0x551101]] : [/app/oracle/goldengate/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain()+0x4f) [0x5ef7ff]] : [/app/oracle/goldengate/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*)+0x104) [0x5efa54 ]] : [/app/oracle/goldengate/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**)+0x8b) [0x5efb5b]] : [/app/oracle/goldengate/replicat(main+0x2c) [0x5502ac]] : [/lib64/libc.so.6(__libc_start_main+0xf4) [0x3c9561d994]] : [/app/oracle/goldengate/replicat(__gxx_personality_v0+0x31a) [0x4c266a]] 2022-12-30 15:57:13 ERROR OGG-01296 Error mapping from OGGTEST.TEST_ID to OGGTEST.TEST_ID. 5 解决方法 5.1 创建序列create sequence oggtest.SEQ_TEST_IDminvalue 1 maxvalue 9999999999 start with 1increment by 1 cache 20; 5.2 修改目标端OGG的参数,主要使用sqlexec功能map oggtest.test_id,target oggtest.test_id,SQLEXEC (ID lookup,QUERY 'select oggtest.SEQ_TEST_ID.nextval cname from dual'),COLMAP (USEDEFAULTS, ID2 = @GETVAL (lookup.cname) ); 5.3 启动OGG进程,OGG进程恢复正常 GGSCI (oracle10g1) 27> start reptb1 Sending START request to MANAGER ... REPLICAT REPTB1 starting GGSCI (oracle10g1) 28> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING REPTB1 00:00:00 00:00:02 5.4 验证数据,发现数据按照期望值进行了入库 SYS@orcl>select * from oggtest.test_id; ID NAME ID2 ---------- ---------------- ---------- 1 xue 2
goldengate的sqlexec测试
来源:这里教程网
时间:2026-03-03 18:16:58
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle ADR介绍
Oracle ADR介绍
26-03-03 - Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c)
- 携程、美团、飞猪备战2023
携程、美团、飞猪备战2023
26-03-03 - Oracle无法自动调度DBMS_JOB&DBMS_SCHEDULER案例分析
- 19c ADG报错Error 1094 attaching to RFS for reconnect
- Oracle sql 语句中带有特殊的字符处理
Oracle sql 语句中带有特殊的字符处理
26-03-03 - 用于安装和维护光纤单模和多模的光纤网络测试套件
用于安装和维护光纤单模和多模的光纤网络测试套件
26-03-03 - 越来越发现自己不懂的还是不少--绑定变量
越来越发现自己不懂的还是不少--绑定变量
26-03-03 - 数据库索引分裂 问题分析
数据库索引分裂 问题分析
26-03-03 - Oracle大页未正常使用导致大量SWAP案例分析
Oracle大页未正常使用导致大量SWAP案例分析
26-03-03
