goldengate abended with no data found
先来看下报错ggserr.log:
2016-12-22 04:48:52 WARNING OGG-02544 Unhandled error (ORA-26787: The row with key ("SYNC_ID") = (bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3) does not exist in table M
SP.SYNC
ORA-01403: no data found) while processing the record at SEQNO 876, RBA 510082482 in Integrated mode. REPLICAT will retry in Direct mode.
2016-12-22 04:48:52 WARNING OGG-01154 SQL error 1403 mapping MSP.SYNC to MSP.SYNC OCI Error ORA-01403: no data found, SQL <UPDATE "MSP"."SYNC" x SET x."START_DAT
ESTAMP" = :a1,x."END_DATESTAMP" = :a2,x."STATUS_IND" = :a3,x."ERROR_MESSAGE" = :a4,x."LAST_SYNC_OFFSET" = :a5,x."LAST_SYNC_DATESTAMP" = :a6,x."USER_DEVICE_ID" = :a
7,x."CREATE_DATE" = :a8,x."UPDATE_DATE" = :a9,x."NIKE_PLUS_USER_ID" = :a10,x."UPM_USER_ID" = :a11,x."SYNC_RETRY_NUM" = :a12,x."APP_ID" = :a13 WHERE x."SYNC_ID" = :
b0>.
2016-12-22 04:48:52 WARNING OGG-01003 Repositioning to rba 510051955 in seqno 876.
2016-12-22 04:48:52 ERROR OGG-01296 Error mapping from MSP.SYNC to MSP.SYNC.
Report at 2016-12-22 04:48:56 (activity since 2016-12-22 00:01:00)
From Table MSP.SYNC to MSP.SYNC:
# inserts: 203453
# updates: 73471
# deletes: 0
# discards: 68 discard的记录有68条,是不是这68个记录都不符合要求还是第一个记录不符合要求,但这些是一个整体的事务,所以先去dirrpt里面看下。
From discard file:
OCI Error ORA-01403: no data found, SQL <UPDATE "MSP"."SYNC" x SET x."START_DATESTAMP" = :a1,x."END_DATESTAMP" = :a2,x."STATUS_IND" = :a3,x."ERROR_MESSAGE" = :a4,x
."LAST_SYNC_OFFSET" = :a5,x."LAST_SYNC_DATESTAMP" = :a6,x."USER_DEVICE_ID" = :a7,x."CREATE_DATE" = :a8,x."UPDATE_DATE" = :a9,x."NIKE_PLUS_USER_ID" = :a10,x."UPM_US
ER_ID" = :a11,x."SYNC_RETRY_NUM" = :a12,x."APP_ID" = :a13 WHERE x."SYNC_ID" = :b0>
Aborting transaction on /gg/app/ggadmin/product/12.1.2.1.0/dirdat/replicate/pdsp/r1 beginning at seqno 876 rba 510051955
error at seqno 876 rba 510082482
Problem replicating MSP.SYNC to MSP.SYNC
Record not found
Mapping problem with compressed update record (target format)...
*
SYNC_ID = bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3
…………
Continuing to discard records up to the last discarded record from action ABEND
Operation discarded from seqno 876 rba 510051955
Aborted compressed update from MSP.SYNC to MSP.SYNC (target format)...
*
SYNC_ID = f00934c3-3c04-4928-ae90-b2a01e0c7572
Operation discarded from seqno 876 rba 510052452
Aborted compressed update from MSP.SYNC to MSP.SYNC (target format)...
*
SYNC_ID = 206fb814-cd8d-4add-9b06-d8e4fecf8976
选了discard file前面部分,后面还有很多record就不一一看了。
先来看报错,说是记录不存在。
于是先在BI目标库看看,
SQL> select sync_id from msp.sync where sync_id in ('bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3','206fb814-cd8d-4add-9b06-d8e4fecf8976','f00934c3-3c04-4928-ae90-b2a01e0c7572');
SYNC_ID
----------------------------------------
206fb814-cd8d-4add-9b06-d8e4fecf8976
f00934c3-3c04-4928-ae90-b2a01e0c7572
可见第一条记录的确不存在,那源库存在吗?
源库PDSP:
SQL> select sync_id from msp.sync where
2 sync_id in ('bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3','f00934c3-3c04-4928-ae90-b2a01e0c7572','206fb814-cd8d-4add-9b06-d8e4fecf8976','3346821d-40e2-4ab8-a650-a68ffd66e9b2');
SYNC_ID
----------------------------------------
206fb814-cd8d-4add-9b06-d8e4fecf8976
3346821d-40e2-4ab8-a650-a68ffd66e9b2
bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3
都存在
那么就得insert这条不存在的记录到BI里面取,然后起R1_SP,看看还有造成abended的记录吗(因为这一个事务包含着68条记录,为什么能确认这是一个事务,可以logdump进去根据事务标识符判断,这里就略过了)
Bi遗失的记录在源库查询:
SQL> select * from msp.sync where sync_id='bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3';
SYNC_ID START_DAT END_DATES STATUS_IND
---------------------------------------- --------- --------- ----------
ERROR_MESSAGE
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------LAST_SYNC_OFFSET LAST_SYNC USER_DEVICE_ID CREATE_DA UPDATE_DA NIKE_PLUS_USER_ID UPM_USER_ID SYNC_RETRY_NUM APP_ID
---------------- --------- ---------------------------------------- --------- --------- ---------------------------------------- ---------------------------------------- -------------- ----------
bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3 11-OCT-16 0
proc_fuelband_wrapperclass sets status_ind to 0.
0 01-JAN-70 e3659704-686e-4e25-9185-41e67aef57eb 11-OCT-16 22-DEC-16 b033e11a-a94a-4fc7-b153-c12f720a8278 9745824936 0 335
可以在toad上查找这条记录,然后导出insert格式的语句,如下:
会生成如下:
SET DEFINE OFF;
Insert into MSP.SYNC
(SYNC_ID, START_DATESTAMP, END_DATESTAMP, STATUS_IND, ERROR_MESSAGE,
LAST_SYNC_OFFSET, LAST_SYNC_DATESTAMP, USER_DEVICE_ID, CREATE_DATE, UPDATE_DATE,
NIKE_PLUS_USER_ID, UPM_USER_ID, SYNC_RETRY_NUM, APP_ID)
Values
('bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3', '11-OCT-16', '', '0', 'proc_fuelband_wrapperclass sets status_ind to 0.',
'0', '01-JAN-70', 'e3659704-686e-4e25-9185-41e67aef57eb', '11-OCT-16', '22-DEC-16',
'b033e11a-a94a-4fc7-b153-c12f720a8278', '9745824936', '0', '335');
COMMIT;
然后BI库跑一下,然后起R1_SP即可。
另一个操作版本(不建议):
没插数据,直接加HC参数,直接起,但是BI库却始终看不到这条记录。因为HC已经把这条记录给skip了。
但是我记得HC参数对于update会转换成insert语句,却没看到这条记录也就说明没转换。
所以还得去看看官方文档对于HC在各个场景下的策略。
如下就是等到R1_SP都AT EOF了,都没看到这条记录。
send r1_sp status
Sending STATUS request to REPLICAT R1_SP ...
Current status: At EOF
Sequence #: 876
RBA: 518830790
0 records in current transaction
SQL> select * from msp.sync where sync_id='bd7a9e64-0301-4cbf-bc10-9a8c0a231fc3';
no rows selected
SQL> /
no rows selected
简单的案例想说明的就是:
In world of Golden Gate you can do anything only make sure that you’re not losing any transaction or record.
goldengate abended with no data found的更多相关文章
- Track 造成Goldengate abended的那条record
Email收到了这样的报错: 2016-12-07 02:52:22 WARNING OGG-01004 Aborted grouped transaction on 'MSP.USER_ACTI ...
- 搭建GoldenGate的单向复制环境
配置环境: 建议在相同版本OGG(即Oracle GoldenGate)之间进行复制,我在这里之所以选择不同版本的OGG,便于后续的比较学习. 一.准备OGG的运行用户 在这里,我直接使用oracle ...
- goldengate一些参数整理
转自:http://blog.csdn.net/lemontree1123/article/details/46603549 manager参数: AUTOSTART:指定在mgr启动时自动启动那些进 ...
- goldengate单向复制文档
1:实验环境 2:实验步骤 --下面的2.1-2.2步骤,都需要在源端和目标端分别执行. 2.1:准备工作 2.1.1 建表空间 create tablespace ogg datafile '/u0 ...
- GoldenGate实施步骤
一.GoldenGate实施环境 source database:oracle 11.2.0.3 target database:oracle 11.2.0.3 需要配置的进程如下: source ...
- 配置Oracle GoldenGate安全性
本章介绍如何配置Oracle GoldenGate安全性. 本章包括以下部分: Overview of Oracle GoldenGate Security Options Encrypting Da ...
- 76 道 Oracle Goldengate 面试问题
基础 12c新特性 性能 Troubleshoot 其它 1. Oracle Goldengate 支持部署到哪些拓扑? GoldenGate supports the following topol ...
- oracle goldengate 远程捕获和投递
很早之前,OGG只支持部署在数据库主机上,这叫本地化部署.而现在OGG支持远端部署,即OGG软件不安装在数据库主机上,而是安装在单独的机器上,负责数据抽取和投递. 这样做的好处: l 易于管理 - 在 ...
- goldengate一些參数整理
manager參数: AUTOSTART:指定在mgr启动时自己主动启动那些进程. AUTOSTART ER * AUTOSTART extract extsz AUTORESTART:指定在mgr ...
随机推荐
- 1Z0-053 争议题目解析702
1Z0-053 争议题目解析702 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 702.View the Exhibit and examine the parameter se ...
- 重温JSP学习笔记--三大指令九大内置对象
最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...
- 实用的SQL语句
行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for qua ...
- MySQL的多存储引擎架构
支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一.如果能够理解MySQL Server与存储引擎之间是怎样通过API交互的,将大大有利于理解MySQL的核心基础架构.本文将 ...
- 读取SD卡文件夹下的MP3文件和播放MP3文件
首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public Lis ...
- Centos 7 开启端口
CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的 CentOS 7 采用了 firewalld 防火墙 如要查询是否开启80端口则: 1 ...
- 为Linux重新开发MVC,有图有真相
1.写在前面 就连我们自己开始时也在问自己:我们为什么要开发一套MVC,微软的难道不可用用吗? 一开始的理由很简单.为了更好地跨平台部署;在Linux部署过.NET的人们应该知道, 部署起来是有点繁琐 ...
- SQL Server时间粒度系列----第7节日历数据表详解
本文目录列表: 1.时间粒度有关描述 2.时间维度有关功能函数3.日历数据表 4.日历数据表数据填充 5.总结语 6.参考清单列表 时间粒度有关描述 将该系列涉及到的时间粒度以及分钟以下的粒度 ...
- 数据结构(c语言第2版)-----了解链表,栈,队列,串
关于链表我觉得这都是最基本的东西,但是不常见,在实际的应用中很少的使用,了解它会用就OK,不需要研究的那么深,除非做那种内存压缩,存储方面工作. C语言中动态申请空间 malloc() q=(dlin ...
- 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...