故障:
昨天客户处的ogg rep进程报ora-01403,然后update语句执行失败。
环境是:11.2.0.3.8 rac,asm方式,ogg是11.2.1.0.27
分析:
1.logdump分析目的端的trail file, 发现pkgid='4605'的insert记录不在目的端的trail file中
2.logdump分析源头上的trail file, 发现pkgid='4605'的insert记录不在源头的trail file中
3.至此,问题得到定性:ogg源头的抽取进程漏抽数据。
4.检查ogg源头的抽取进程的rpt文件,
~~~
2015-11-23 3:40:16 WARNING OGG-01027 Long Running Transaction: XID 8.2.3069, Items 0, Extract EXTXXX, Redo Thread 2, SCN 17.3644768588 (76659212620), Redo Seq #3153, Redo RBA 434248208.
2015-11-23 3:45:16 WARNING OGG-01027 Long Running Transaction: XID 8.2.3069, Items 0, Extract EXTXXX, Redo Thread 2, SCN 17.3644768588 (76659212620), Redo Seq #3153, Redo RBA 434248208.
2015-11-23 3:50:16 WARNING OGG-01027 Long Running Transaction: XID 8.2.3069, Items 0, Extract EXTXXX, Redo Thread 2, SCN 17.3644768588 (76659212620), Redo Seq #3153, Redo RBA 434248208.
2015-11-23 3:55:16 WARNING OGG-01027 Long Running Transaction: XID 8.2.3069, Items 0, Extract EXTXXX, Redo Thread 2, SCN 17.3644768588 (76659212620), Redo Seq #3153, Redo RBA 434248208.
2015-11-23 4:00:16 WARNING OGG-01027 Long Running Transaction: XID 8.2.3069, Items 0, Extract EXTXXX, Redo Thread 2, SCN 17.3644768588 (76659212620), Redo Seq #3153, Redo RBA 434248208.
2015-11-23 4:02:53 WARNING OGG-00723 Record with class# 78, slt# 8, at seqno 3546, rba 334954000 SCN 18.56689670 (77366100998) has secondary transaction ID that is duplicate of existing open uncommitted transaction.
2015-11-23 4:02:53 WARNING OGG-00715 [Thread #2] Purging transaction (transaction id: 31.8.122377, start time: 2015-11-24 13:57:04, start seqno: 3546, start RBA: 318146576).
2015-11-23 4:02:53 WARNING OGG-00712 Updating I/O checkpoint after purging orphaned transactions on thread 2 with current position (Seq#: 3546, RBA: 334957552).
~~~
重点是最后3行的信息(前5行的信息都是长事务的报警),以最后3行的信息去mos搜索,发现如下的mos文章:
~~~
GG Extract Report Shows "Purging Transaction", WARNING OGG-00723, OGG-00715, Updating I/O Checkpoint after Purging Orphaned Transactions, Has Secondary Transaction ID That Is Duplicate of Existing Open Uncommitted Transaction (文档 ID 1458472.1)
Classic Extract reports false redo corruption errors when using the DBLOGREADER interface (文档 ID 2014521.1)
Replicat abends due to a record missed by an extract (文档 ID 1990385.1)
GoldenGate Replication On RAC (文档 ID 2079091.1)
~~~
如上文章说的是有个ogg的隐含参数TRANLOGOPTIONS _DISABLESTREAMLINEDDBLOGREADER
该隐含参数的作用如下:
~~~
This parameter will force DBLOGREADER api check the NAB flag of the redo log before switching,
thus eliminate the chance of switching to the new log file prematurely.
This parameter has become default from V12.1.2.1.0 and up.
Note: The parameter _DISABLESTREAMLINEDDBLOGREADER is available only from v11.2.1.0.26 onwards
~~~
于是,就在ogg源头的抽取进程中添加了这个隐含参数(加在了TRANLOGOPTIONS DBLOGREADER下面一行),重启了ogg源头的抽取进程。
继续观察运行情况。
- 前言
- OGG抽取进程漏抽数据与TRANLOGOPTIONS _DISABLESTREAMLINEDDBLOGREADER隐含参数
- 查找OGG trail file中是否存在相关记录的命令
- 在OGG中跳过Oracle DB 长事务的命令
- Does Oracle GoldenGate requires Xlc.Adt.Include 8.0 (文档 ID 1147116.1)
- 【翻译自mos文章】怎么找到OGG Director Server使用的数据库和用户名?
- 【翻译自mos文章】OGG支持oracle db 11g中的不可见索引吗?
- Oracle GoldenGate 对IBM大型机 z/OS 2.1 和DB2 v11的支持
- Oracle Restart可以用来给Oracle GoldenGate 做 High Availability 使用么?
- OGG的集成捕捉模式支持Oracle database标准版么?
- OGG replicat 进程使用的 TCP 端口
- Oracle GoldenGate 怎么在源头的传输进程和目的端的server/collector进程之间分配 端口?
- Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗?