1 创建测试表,并插入数据: OGGTEST@orcl>create table test_number (id number(8)); Table created. insert into test_number values(0);insert into test_number values(1);insert into test_number values(10);insert into test_number values(100);insert into test_number values(1000);insert into test_number values(10000);insert into test_number values(100000);insert into test_number values(1000000);insert into test_number values(10000000);insert into test_number values(-1); insert into test_number values(-10); insert into test_number values(-100); insert into test_number values(-1000); insert into test_number values(-10000); insert into test_number values(-100000); insert into test_number values(-1000000); insert into test_number values(-10000000); insert into test_number values(-100000000); commit; 目标端查看数据是否同步,发现已经同步: 目标端: OGGTEST@orcl>/ ID ---------- 0 1 10 100 1000 10000 100000 1000000 10000000 -1 -10 -100 -1000 -10000 -100000 -1000000 -10000000 测试超出范围的数据,发现报错:OGGTEST@orcl>insert into test_number values(100000000); insert into test_number values(100000000) *ERROR at line 1:ORA-01438: value larger than specified precision allowed for this columnOGGTEST@orcl>insert into test_number values(-100000000); insert into test_number values(-100000000) *ERROR at line 1:ORA-01438: value larger than specified precision allowed for this column 2 根据如上试验,可以确定,相同的列,插入负值,0,正值都是没问题的。 以下测试列联合。目标端增加一列数据,用于测试连接值。目标端: OGGTEST@orcl>alter table test_number add id_numbertest number(11); Table altered. OGGTEST@orcl>desc test_number; Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER(8) ID_NUMBERTEST NUMBER(11) 修改OGG参数如下:MAP oggtest.test_number, TARGET oggtest.test_number, COLMAP (USEDEFAULTS, ID_NUMBERTEST=@STRCAT("612",ID)); 源端: insert into test_number values(11); insert into test_number values(110); insert into test_number values(1100); insert into test_number values(11000); insert into test_number values(110000); insert into test_number values(1100000); insert into test_number values(11000000); commit; 目标端数据验证: OGGTEST@orcl>/ ID ID_NUMBERTEST ---------- --------------- 0 1 10 100 1000 10000 100000 1000000 10000000 -1 -10 -100 -1000 -10000 -100000 -1000000 -10000000 11 61211 110 612110 1100 6121100 11000 61211000 110000 612110000 1100000 6121100000 11000000 61211000000 24 rows selected. 3 测试负值,查看OGG的信息 源端测试负值: insert into test_number values(-11); OGGTEST@orcl>insert into test_number values(-11); 1 row created. OGGTEST@orcl>commit; Commit complete. 目标端发现OGG报错: GGSCI (oracle10g1) 71> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT ABENDED REPTB1 00:00:06 00:00:13 查看报错信息: MAP resolved (entry oggtest.test_number): MAP "OGGTEST"."TEST_NUMBER", TARGET oggtest.test_number, COLMAP (USEDEFAULTS, ID_NUMBERTEST=@STRCAT("612",ID)); 2021-09-24 16:34:02 WARNING OGG-00869 No unique key is defined for table 'TEST_NUMBER'. All viable columns will be used to represent the key, but may not guarante e uniqueness. KEYCOLS may be used to define the key. Using the following default columns with matching names: ID=ID, ID_NUMBERTEST=ID_NUMBERTEST Using the following key columns for target table OGGTEST.TEST_NUMBER: ID, ID_NUMBERTEST. 2021-09-24 16:36:17 WARNING OGG-01431 Aborted grouped transaction on 'OGGTEST.TEST_NUMBER', Mapping error. 2021-09-24 16:36:17 WARNING OGG-01003 Repositioning to rba 5350 in seqno 17. 2021-09-24 16:36:17 WARNING OGG-01151 Error mapping from OGGTEST.TEST_NUMBER to OGGTEST.TEST_NUMBER. 2021-09-24 16:36:17 WARNING OGG-01003 Repositioning to rba 5350 in seqno 17. 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) [0x2afaa1 92e61e]] : [/app/oracle/goldengate/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2ec) [0x2afaa192715c]] : [/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) [0x2afaa192312b]] : [/app/oracle/goldengate/replicat(take_rep_err_action(short, int, char const*, extr_ptr_def*, __std_rec_hdr*, char*, file_def*, bool)+0xaa7) [0x524c31]] : [/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]] 2021-09-24 16:36:17 ERROR OGG-01296 Error mapping from OGGTEST.TEST_NUMBER to OGGTEST.TEST_NUMBER. GGSCI (oracle10g1) 75> info reptb1 REPLICAT REPTB1 Last Started 2021-09-24 16:32 Status ABENDED Checkpoint Lag 00:00:06 (updated 00:02:56 ago) Log Read Checkpoint File ./dirdat/pt000017 2021-09-24 16:36:11.000484 RBA 5350 使用logdump查看数据: Logdump 815 >open ./dirdat/pt000017 Current LogTrail is /app/oracle/goldengate/dirdat/pt000017 Logdump 816 >pos 5350 Reading forward from RBA 5350 Logdump 817 >n ___________________________________________________________________ Hdr-Ind : E (x45) Partition : . (x04) UndoFlag : . (x00) BeforeAfter: A (x41) RecLength : 14 (x000e) IO Time : 2021/09/24 16:36:11.000.484 IOType : 5 (x05) OrigNode : 255 (xff) TransInd : . (x03) FormatType : R (x52) SyskeyLen : 0 (x00) Incomplete : . (x00) AuditRBA : 61 AuditPos : 10841720 Continued : N (x00) RecCount : 1 (x01) 2021/09/24 16:36:11.000.484 Insert Len 14 RBA 5350 Name: OGGTEST.TEST_NUMBER After Image: Partition 4 G s 0000 000a 0000 ffff ffff ffff fff5 | .............. Column 0 (x0000), Len 10 (x000a) 0000 ffff ffff ffff fff5 | .......... -此值转换为十进制为-11,既然这个值是正常的,那么只有ID_NUMBERTEST值有问题的 GGS tokens: TokenID x52 'R' ORAROWID Info x00 Length 20 4141 414d 7138 4141 4541 4141 4142 4741 4159 0001 | AAAMq8AAEAAAABGAAY.. TokenID x4c 'L' LOGCSN Info x00 Length 7 3935 3136 3135 37 | 9516157 TokenID x36 '6' TRANID Info x00 Length 8 332e 3132 2e35 3635 | 3.12.565 在目标端测试相关数据: OGGTEST@orcl>select concat('612','-11') from dual; CONCAT ------ 612-11 OGGTEST@orcl>insert into test_number values (111,612-11); 1 row created. OGGTEST@orcl>commit; Commit complete. OGGTEST@orcl>insert into test_number values (111,'612-11'); insert into test_number values (111,'612-11') * ERROR at line 1: ORA-01722: invalid number 修改OGG参数: MAP oggtest.test_number, TARGET oggtest.test_number, COLMAP (USEDEFAULTS, ID_NUMBERTEST=@STRCAT("612",ID));修改后 MAP oggtest.test_number, TARGET oggtest.test_number, COLMAP (USEDEFAULTS, ID_NUMBERTEST=@EVAL( ID < 0 ,"612",@STRCAT("612",ID))); 测试,发现问题解决,负值的问题已经解决。 OGGTEST@orcl>select * from test_number; ID ID_NUMBERTEST ---------- --------------- 0 1 10 100 1000 10000 100000 1000000 10000000 -1 -10 -100 -1000 -10000 -100000 -1000000 -10000000 11 61211 110 612110 1100 6121100 11000 61211000 110000 612110000 1100000 6121100000 11000000 61211000000 -11 612 111 601 26 rows selected.
OGG-01431 OGG-01003 OGG-01151 OGG-01003错误处理
来源:这里教程网
时间:2026-03-03 17:00:45
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 【SQL】Oracle SQL处理的流程
【SQL】Oracle SQL处理的流程
26-03-03 - 【SQL】Oracle SQL共享池检查
【SQL】Oracle SQL共享池检查
26-03-03 - Oracle 21C下载和安装
Oracle 21C下载和安装
26-03-03 - oracle11g安装 单实例 系统centos7
oracle11g安装 单实例 系统centos7
26-03-03 - Oracle 19c- 19.8应用32242453补丁
Oracle 19c- 19.8应用32242453补丁
26-03-03 - 延迟块清除导致rac节点传输undo header块
延迟块清除导致rac节点传输undo header块
26-03-03 - 怎么给多个视频添加相同的滚动字幕内容呢
怎么给多个视频添加相同的滚动字幕内容呢
26-03-03 - 有什么简单快速获取天猫上商品详情图的方法吗?
有什么简单快速获取天猫上商品详情图的方法吗?
26-03-03 - 商家如何制作互动小游戏活跃气氛 吸引粉丝?
商家如何制作互动小游戏活跃气氛 吸引粉丝?
26-03-03 - kill session ORA-00031
kill session ORA-00031
26-03-03
