OGG抽取进程漏抽数据与TRANLOGOPTIONS _DISABLESTREAMLINEDDBLOGREADER隐含参数

故障:
昨天客户处的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源头的抽取进程。
继续观察运行情况。

1. 安装Oracle 19c 首先,需要安装Oracle 19c数据库,安装过程可以参考官方文档或者其他相关的教程。 2. 安装Oracle GoldenGate 12c 在Oracle 19c数据库所在的服务器上安装GoldenGate 12c,可以参考官方文档或者其他相关的教程。 3. 配置GoldenGate 12c 配置GoldenGate 12c的步骤如下: - 创建GoldenGate目录 创建GoldenGate目录,比如/opt/goldengate。 - 设置环境变量 在用户的.bashrc文件中添加以下环境变量: export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:/usr/lib export GG_HOME=/opt/goldengate export PATH=$PATH:$GG_HOME - 创建GoldenGate用户 在Oracle 19c数据库中创建GoldenGate用户,并赋予必要的权限。 - 创建GoldenGate目录结构 在GoldenGate用户下创建以下目录结构: cd $GG_HOME mkdir dirprm mkdir dirdat mkdir dirrpt mkdir dirtmp - 创建GoldenGate参数文件 在dirprm目录下创建以下参数文件: - GLOBALS GGSCI> edit params globals TRANLOGOPTIONS ALTLOGDEST /u02/oradata/ogg/altlog LAGREPORTMINUTES 1 LAGINFOMINUTES 10 LAGCRITICALMINUTES 30 LAGCRITICALTHRESHOLD 100000 LAGINFOEXCLUDE *.* LAGINFO /GGATE/reports/gginfo.htm, APPEND LAGCRIT /GGATE/reports/ggcrit.htm, APPEND REPLICATOPTIONS ASSUMETARGETDEFS REPLICATOPTS ENABLE_INSTANTIATION_FILTERING REPLICATOPTS DISCARDFILE ../dirrpt/rep_discard.txt, PURGE REPLICATOPTS REPORT ../dirrpt/rep_report.txt, APPEND REPLICATOPTS MAXTRANSOPS 1000 REPLICATOPTS MAXTRANSFILES 10 - DBLOGIN GGSCI> edit params DBLOGIN USERID gguser, PASSWORD gguser, ENCRYPTKEY DEFAULT - EXTRACT GGSCI> edit params ext1 EXTRACT ext1 SETENV (ORACLE_SID=ORCL) SETENV (ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1) SETENV (NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS) SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) USERID gguser, PASSWORD gguser EXTTRAIL ./dirdat/ex TABLE hr.*; - REPLICAT GGSCI> edit params rep1 REPLICAT rep1 SETENV (ORACLE_SID=ORCL) SETENV (ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1) SETENV (NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS) SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) USERID gguser, PASSWORD gguser ASSUMETARGETDEFS MAP hr.*, TARGET hr.*; - 启动GoldenGate 启动GoldenGate的步骤如下: - 启动管理进程 GGSCI> start mgr - 启动抽取进程 GGSCI> start ext1 - 启动复制进程 GGSCI> start rep1 4. 测试GoldenGateOracle 19c数据库中进行一些数据操作,比如插入、更新、删除等操作,然后通过GoldenGate进行同步到另一个数据库中,验证数据是否同步成功。 至此,Oracle GoldenGate 12c的迁移工作已经完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值