ogg replicat word如何忽略语法错误错误

博客访问: 130856
博文数量: 28
博客积分: 368
博客等级: 一等列兵
技术积分: 461
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
& & 在OGG运行过程中,通常会因为各种各样的原因导致容灾端的REPLICAT进程ABENDED掉,这个时候需要通过分析ggserr.log , DISCARDFILE , REPLICAT REPORT ,以及借助 Logdump 等工具去定位错误。在具体的应用场景下,通过分析排查,有些事务是可以不在容灾端去应用的,下面的例子是今天在生产配置OGG遇到的一个问题。& & &由于在同步过程中,从主库传过来的列队中包含创建OGG用户下某张表的一个事务,导致REPLICAT进程ABENDED,经过分析,该表是在主库用于DDL复制的,并不需要在备库应用,确定不会影响数据一致性的前提下决定跳过次事务:1,定位REPLICAT进程当前事务所在列队文件及RBA:GGSCI (sv890n01) 46> info rads_1REPLICAT
Last Started 2012-12-08 16:29
Status ABENDEDCheckpoint Lag
02:23:36 (updated 00:01:38 ago)Log Read Checkpoint
File ./dirdat/pa000002&&&&&&&&&&&&&&&&&&&&&2012-12-08 14:05:51.970013
RBA <font color="#6988252,由于在列队中相邻两个事务的 RBA 并不是简单的 +1 关系,所以下一步需要定位到下个事务的RBA,在这里需要借助 logdump 工具。& &打开列队文件:Logdump 10 >open ./dirdat/pa000002Current LogTrail is /u01/app/oracle/oradata/ogg/dirdat/pa000002& &定位到指定的RBA位置:Logdump 11 >pos Reading forward from RBA & &查看当前事务详细信息,在这里可以看到DDL/DML操作类型,RBA,对象名等一些相关信息:Logdump 12 >n 14:05:52.970.013 DDLOP
1221 RBA <font color="#698825 Name:
Partition 0
2c43 353d 27 2c2c
| ,C5='5707',,B7='5707
272c 2c42 323d 30 c
| ',,B2='561300',,B3='
5f54 f | OGG',,B4='DBMS_TABCO
4d50 5f54 454d 505f 554e 434d c d | MP_TEMP_UNCMP',,C12=
c | '',,C13='',,B5='TABL
272c 2c42 383d 274f | E',,B6='DROP',,B8='O
444c 5f48 c2c 4239 | GG.GGS_DDL_HIST',,B9& &查看下一个事务信息:Logdump 13 >n 14:05:52.970.013 Insert
370 RBA <font color="#700210 Name: DATAGATE.TB_DOWNLOAD_LOG After
Partition 4
00 31 00 0000 | ........rtr11.......
34 00 59 3037 | .10604........YC1Y07
315f 37 32 342e 786d 6c00 | 1_4.xml.
30 0004 00bf 0000 00bb a2f | .....0........http:/
2f64 74 652e 62 6f6e 642e | /datagate.chinabond.
636f 6d2e 636e 2f64 74 652f
| /datagate/disp
f66 756e 635f
74 | atch?func_id=2011&st至此已经定位到下一个事务的RBA。3,在GGSCI中通过重新指定REPLICAT进程的当前RBA以跳过当前事务GGSCI (sv890n01) 47> alter replicat rads_1,extrba <font color="#700210REPLICAT altered.GGSCI (sv890n01) 48> start rads_1Sending START request to MANAGER ...REPLICAT RADS_1 starting
阅读(4687) | 评论(2) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
:小伟就是牛逼啊!!!
虎子,么么哒。。。 |
小伟就是牛逼啊!!!
请登录后评论。&&&&&&&&&&&&&&&&&&
posts - 288,comments - 43,trackbacks - 0
以下列出了OGG一些常见的问题与错误及其解答:
&How To Resync A Single Table With Minimum Impact To Other Tables& Replication?
&Troubleshooting TCP/IP Errors In Open Systems
&What Causes The &Bad Column Index(xxxx)& Error In Replicat?
&How to recover from Extract ERROR 180 encountered commit SCN that is not greater than the highest SCN already processed
&GoldenGate Extract Abends with &Unable to lock file& Error For Trail File
&When Replicat is Running but Not Applying Records
&EXTRACT / REPLICAT CHECKPOINT RBA IS LARGER THAN LOCAL TRAILFILE SIZE, AFTER SERVER CRASH
&When using rmthost with timeout option, there are orphaned data collector processes on target system
&Oracle GoldenGate and compressed tables
&OGG-01028 Compression Not Supported & when extract processes regular and cluster tables
&Replicat abending with missing key cols
&Where To Find The List Of Supported And Unsupported Oracle Data Types for GoldenGate
&GG Data Pumps Error With OGG-01031 When Upgrading the Target Side
&Encountered SCN That Is Not Greater Than The Highest SCN Already Processed
&How to Handle Tables without Primary Keys or Unique Indexes with Oracle GoldenGate
&Recovering From a GG Pump Process Abending With An Incompatible Record Error
&Does GoldenGate Support Tables With An UNUSED Column?
&Why Does GoldenGate Report The Lag Is Unknown or a Timestamp Mismatch?
&GoldenGate Errors That Occur In Teradata Extract Setting
&When using rmthost with timeout option, there are orphaned data collector processes on target system
&How To Handle Oracle DDLs (add/drop/resize a Column) 22 19 1
&Usage and considerations for allocation of ports and DYNAMICPORTLIST
&mount options to use when configuring GoldenGate to run on NFS mounted file system
&Extract not accepting CACHESIZE settings
&Logger not logging cobol transactions for GGSLIB with non default AUDCFG location
&How To Troubleshoot Oracle Redo Log Reading Extract Slow Performance Issue&GGS Error 150: No Dynamic Ports Available
&Characterset Conversion: Error 160 Bad column length
&Extract abends,mss: missing trailing blocks, unable to queue I/O, I/O beyond file size
&GoldenGate Extract Abends on Startup with Error OGG-01088 Realloc xxx Bytes Failed.
&Oracle GoldenGate (OGG) 11.1&&& .1&&& .0 and Transparent Data Encryption (TDE)
&How does the Manager Allocate TCPIP Ports?
&Implementing GoldenGate for DataGuard fail overs
&Installing And Configuring GoldenGate In An Oracle RAC Environment
&Oracle GoldenGate Best Practices: Instantiation from an Oracle Source Database
&How To Upgrade GGS Objects In A DDL Replication Environment&Encountered SCN That Is Not Greater Than The Highest SCN Already Processed
&Using SCN To Do The Initial Load From Oracle To Oracle Database
&How To Resync A Single Table With Minimum Impact To Other Tables& Replication?
&Does Oracle Goldengate extract support distributed transactions?
&Troubleshooting TCP/IP Errors In Open Systems
&What Causes The &Bad Column Index(xxxx)&; Error In Replicat?
&How to recover from Extract ERROR 180 encountered commit SCN that is not greater than the highest SCN already processed (GG Version 10)
&Deploying OGG to Achieve Operational Reporting for Oracle E-Business Suite
&GoldenGate Extract Abends with &Unable to lock file& Error For Trail File
&How to Get More Information than from Just a Trace on LINUX Boxes for GoldenGate
&When Replicat is Running but Not Applying Records
&EXTRACT / REPLICAT CHECKPOINT RBA IS LARGER THAN LOCAL TRAILFILE SIZE, AFTER SERVER CRASH
&When using rmthost with timeout option, there are orphaned data collector processes on target system
&Oracle GoldenGate and compressed tables
&OGG-01028 Compression Not Supported & when extract processes regular and cluster tables
&Maintaining the OGG Marker table
&Oracle GoldenGate Best Practices: Instantiation from an Oracle Source Database
&Replicat abending with missing key cols
&Where To Find The List Of Supported And Unsupported Oracle Data Types for GoldenGate
&GG Data Pumps Error With OGG-01031 When Upgrading the Target Side
阅读(...) 评论()OGG强制停止进程 - l3985 - 博客园
1、异常现象[oracle@localhost ~]$ ggsci Oracle GoldenGate Command Interpreter for OracleVersion 11.1.1.0.0 Build 078Linux, x64, 64bit (optimized), Oracle 10 on Jul 28 :11 Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1& info all Program
Time Since Chkpt MANAGER
2、尝试关闭异常进程重启GGSCI (localhost.localdomain) 2& stop * Sending STOP request to EXTRACT EXT-ECP ... ERROR: sending message to EXTRACT EXT-ECP (Timeout waiting for message). Sending STOP request to EXTRACT EXT-EDS ... ERROR: sending message to EXTRACT EXT-EDS (Timeout waiting for message). Sending STOP request to EXTRACT EXT-XZ ... ERROR: sending message to EXTRACT EXT-XZ (Timeout waiting for message). Sending STOP request to EXTRACT P-EDS ... ERROR: sending message to EXTRACT P-EDS (Timeout waiting for message). Sending STOP request to EXTRACT P-XZ ... ERROR: sending message to EXTRACT P-XZ (Timeout waiting for message). Sending STOP request to REPLICAT REP-BOS ... ERROR: sending message to REPLICAT REP-BOS (Timeout waiting for message). GGSCI (localhost.localdomain) 3& stop mgr! Sending STOP request to MANAGER ...Request processed.Manager stopped. GGSCI (localhost.localdomain) 4& info all Program
Time Since Chkpt MANAGER
GGSCI (localhost.localdomain) 5& kill EXT-ECP ERROR: Manager not currently running. GGSCI (localhost.localdomain) 6& kill EXT-EDS ERROR: Manager not currently running.
GGSCI (localhost.localdomain) 7& info all Program
Time Since Chkpt MANAGER
GGSCI (localhost.localdomain) 8& exit --使用stop 进程,stop mgr,kill 进程都不能正常关闭这些进程3、系统系统级别kill相关ogg进程[oracle@localhost OGG]$ ps -ef|grep /opt/OGGoracle
00:03:31 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-ecp.prm REPORTFILE /opt/OGG/dirrpt/EXT-ECP.rpt PROCESSID EXT-ECP USESUBDIRSoracle
00:02:30 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-eds.prm REPORTFILE /opt/OGG/dirrpt/EXT-EDS.rpt PROCESSID EXT-EDS USESUBDIRSoracle
00:03:07 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-xz.prm REPORTFILE /opt/OGG/dirrpt/EXT-XZ.rpt PROCESSID EXT-XZ USESUBDIRSoracle
00:00:01 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/p-eds.prm REPORTFILE /opt/OGG/dirrpt/P-EDS.rpt PROCESSID P-EDS USESUBDIRSoracle
00:00:03 /opt/OGG/replicat PARAMFILE /opt/OGG/dirprm/rep-bos.prm REPORTFILE /opt/OGG/dirrpt/REP-BOS.rpt PROCESSID REP-BOS USESUBDIRSoracle
00:00:01 ./server -p 7847 -k -l /opt/OGG/ggserr.logoracle
00:00:15 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/p-xz.prm REPORTFILE /opt/OGG/dirrpt/P-XZ.rpt PROCESSID P-XZ USESUBDIRSoracle
0 12:48 pts/1
00:00:00 grep /opt/OGG[oracle@localhost OGG]$ kill -9 82
[oracle@localhost OGG]$ ps -ef|grep /opt/OGGoracle
0 12:48 pts/1
00:00:00 grep /opt/OGG4、重启所有ogg进程[oracle@localhost OGG]$ ggsci Oracle GoldenGate Command Interpreter for OracleVersion 11.1.1.0.0 Build 078Linux, x64, 64bit (optimized), Oracle 10 on Jul 28 :11 Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1& info all Program
Time Since Chkpt MANAGER
--进程状态还是异常 GGSCI (localhost.localdomain) 2& start mgr Manager started.
GGSCI (localhost.localdomain) 3& info all Program
Time Since Chkpt MANAGER
--进程起来了,但是Time Since Chkpt还是不正确 GGSCI (localhost.localdomain) 4& stop ext-ecp Sending STOP request to EXTRACT EXT-ECP ...Request processed.
GGSCI (localhost.localdomain) 5& info all Program
Time Since Chkpt MANAGER
--关闭EXT-ECP测试,状态正常 GGSCI (localhost.localdomain) 6& start ext-ecp Sending START request to MANAGER ...EXTRACT EXT-ECP starting
GGSCI (localhost.localdomain) 7& info all Program
Time Since Chkpt MANAGER
--Lag异常,等待恢复 GGSCI (localhost.localdomain) 8& stop ext-eds Sending STOP request to EXTRACT EXT-EDS ... Recovery is not complete.
This normal stop will wait and checkpoint recovery'swork when recovery has finished. To force Extract to stop now,use the SEND EXTRACT EXT-EDS, FORCESTOP command.--因为恢复没有完成导致该提示,可以忽略,等待 GGSCI (localhost.localdomain) 9& info all Program
Time Since Chkpt MANAGER
GGSCI (localhost.localdomain) 10& start ext-eds Sending START request to MANAGER ...EXTRACT EXT-EDS starting
GGSCI (localhost.localdomain) 11& info all Program
Time Since Chkpt MANAGER
GGSCI (localhost.localdomain) 12& stop ext-xz Sending STOP request to EXTRACT EXT-XZ ...Request processed.
GGSCI (localhost.localdomain) 13& start ext-xz Sending START request to MANAGER ...EXTRACT EXT-XZ starting GGSCI (localhost.localdomain) 15& stop p-eds Sending STOP request to EXTRACT P-EDS ...Request processed.
GGSCI (localhost.localdomain) 16& start p-eds Sending START request to MANAGER ...EXTRACT P-EDS starting
GGSCI (localhost.localdomain) 17& stop p-xz Sending STOP request to EXTRACT P-XZ ...Request processed.
GGSCI (localhost.localdomain) 18& start p-xz Sending START request to MANAGER ...EXTRACT P-XZ starting
GGSCI (localhost.localdomain) 19& info all Program
Time Since Chkpt MANAGER
--重启所有异常进程,ogg工作正常 GGSCI (localhost.localdomain) 20&OGG Replicat Failed Due To Check_point Table beingTruncated-Michael_DD-ITPUB博客
OGG Replicat Failed Due To Check_point Table beingTruncated
2910阅读 0评论 
OGG Replicat Failed Due To Check_point Table beingTruncated
目标端replicat进程启动异常
GGSCI (aix211) 16> info all
Program&&&& Status&&&&& Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&& RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &
REPLICAT&&& ABENDED&&&& RORA_1&&&&& 00:00:00&&&&& 43:38:02
查看日志:
16:03:42& INFO&&& OGG-01815& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Virtual Memory Facilities for: COM
&&& anon alloc: mmap(MAP_ANON)& anon free: munmap
&&& file alloc: mmap(MAP_SHARED)& file free: munmap
&&& target directories:
&&& /ogg/dirtmp.
16:03:42& ERROR&& OGG-00446& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Checkpoint table ogg.checkpoint does not exist.& Pleas
e create the table or recreate the RORA_1 group using the correct table.
16:03:42& ERROR&& OGG-01668& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& PROCESS ABENDING.
无法找到checkpint table !
GGSCI (aix211) 2> delete checkpointtable
GGSCI (aix211) 3> edit param ./GLOBALS
CHECKPOINTTABLE ogg.checkpoint
GGSCI (aix211) 3>exit
必须退出ggsci,checkpoint table 才会生效
[oracle@rh6 ogg]$ ./ggsci
GGSCI (aix211) 1> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (aix211) 2> add checkpointtable
No checkpoint table specified, using GLOBALS specification (ogg.checkpoint)...
Successfully created checkpoint table ogg.checkpoint.
&重新启动replicat进程:
GGSCI (aix211) 16> info all
Program&&&& Status&&&&& Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&& RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &
REPLICAT&&& ABENDED&&&& RORA_1&&&&& 00:00:00&&&&& 43:38:02
启动失败,查看日志!
[oracle@aix211 ogg]$tail ggserr.log
16:11:47& INFO&&& OGG-00975& Oracle GoldenGate Manager for Oracle, mgr.prm:& REPLICAT RORA_1 starting.
16:11:48& INFO&&& OGG-00995& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& REPLICAT RORA_1 starting.
16:11:48& INFO&&& OGG-03035& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Operating system character set identified as ISO-8859-1. Locale: en_US_POSIX, LC_ALL:.
16:11:48& INFO&&& OGG-01815& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Virtual Memory Facilities for: COM
&&& anon alloc: mmap(MAP_ANON)& anon free: munmap
&&& file alloc: mmap(MAP_SHARED)& file free: munmap
&&& target directories:
&&& /ogg/dirtmp.
16:11:48& ERROR&& OGG-00446& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& No data selecting position from checkpoint table ogg.checkpoint for group 'RORA_1', key
(0x3ef6d2d4), SQL .
16:11:48& ERROR&& OGG-01668& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& PROCESS ABENDING.
checkpointtable 错误 !
处理方法:
删除replicat进程:
GGSCI (aix211) 7> delete replicat rora_1
Deleted REPLICAT RORA_1.
添加新的replicat进程:
GGSCI (aix211) 8> add replicat rora_1,exttrail ./dirdat/pa,checkpointtable ogg.checkpoint
REPLICAT added.
GGSCI (aix211) 9> edit param rora_1
"/ogg/dirprm/rora_1.prm" 7 lines, 198 characters
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA_aa.DSC,PURGE
MAP scott.oem_ogg, TARGET scott.emp_
重新启动replicat进程
GGSCI (aix211) 10> start replicat rora_1
Sending START request to MANAGER ...
REPLICAT RORA_1 starting
GGSCI (aix211) 11> info all
Program&&&& Status&&&&& Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&& RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &
REPLICAT&&& RUNNING&&&& RORA_1&&&&& 00:00:00&&&&& 00:00:03
启动成功!
&查看ogg日志:
GGSCI (aix211) 12> view ggsevt
16:25:13& INFO&&& OGG-00975& Oracle GoldenGate Manager for Oracle, mgr.prm:& REPLICAT RORA_1 starting.
16:25:13& INFO&&& OGG-00995& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& REPLICAT RORA_1 starting.
16:25:13& INFO&&& OGG-03035& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Operating system characte
r set identified as ISO-8859-1. Locale: en_US_POSIX, LC_ALL:.
16:25:13& INFO&&& OGG-01815& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& Virtual Memory Facilities
&&& anon alloc: mmap(MAP_ANON)& anon free: munmap
&&& file alloc: mmap(MAP_SHARED)& file free: munmap
&&& target directories:
&&& /ogg/dirtmp.
16:25:13& INFO&&& OGG-00996& Oracle GoldenGate Delivery for Oracle, rora_1.prm:& REPLICAT RORA_1 started.
案例分析2:
源端初始化进程(eini_1)和目标端初始化进程(rini_1)
目标端初始化进程rini_1:
GGSCI (aix211) 13> info rini_1
REPLICAT&& RINI_1&&& Initialized&&
15:40&& Status STOPPED
Checkpoint Lag&&&&&& 00:00:00 (updated 48:46:37 ago)
Log Read Checkpoint& Not Available
Task&&&&&&&&&&&&&&&& SPECIALRUN
源端初始化进程eini_1:
GGSCI (aix212) 21> info eini_1
EXTRACT&&& EINI_1&&& Last Started
16:09&& Status STOPPED
Checkpoint Lag&&&&&& Not Available
Log Read Checkpoint& Table SCOTT.EMP_OGG
&&&&&&&&&&&&&&&&&&&&
16:09:35& Record 14
Task&&&&&&&&&&&&&&&& SOURCEISTABLE
启动源端初始化进程:
GGSCI (aix212) 22> start eini_1
Sending START request to MANAGER ...
EXTRACT EINI_1 starting
GGSCI (aix212) 23> info eini_1
EXTRACT&&& EINI_1&&& Last Started
16:09&& Status RUNNING
Checkpoint Lag&&&&&& Not Available
Log Read Checkpoint& Table SCOTT.EMP_OGG
&&&&&&&&&&&&&&&&&&&&
16:09:35& Record 14
Task&&&&&&&&&&&&&&&& SOURCEISTAB
进程启动后,目标端初始化进程自动启动!
GGSCI (aix211) 14> info rini_1
REPLICAT&& RINI_1&&& Initialized&&
15:40&& Status RUNNING
Checkpoint Lag&&&&&& 00:00:00 (updated 48:47:03 ago)
Log Read Checkpoint& Not Available
Task&&&&&&&&&&&&&&&& SPECIALRUN
北京皓辰网域网络信息技术有限公司. 版权所有Goldengate升级之目标端(replicat端)升级
要升级replicat端的原因为:目标端OGG软件版本与源端OGG软件版本不同,在实际生产应用中,经常发现replicat端事务丢失的情况,所以,需要将目标端的OGG软件升级为与源端OGG相同软件版本。
1、升级前环境情况
源端OGG版本11.2.1.0.1
目标端OGG版本11.1.1.1.2
升级前,为了解决源端、目标端OGG版本不一致不能正常同步的问题,在源端抽取Tail file格式时,加了format release 11.1的格式转换命令,在extract与data pump进程中均配置,其配置方式如下:
EXTTRAIL ./dirdat/tr, format release 11.1
2、升级目标
将目标端OGG版本从11.1.0.2升级到与源端一致的11.2.0.1版本
3、升级前准备
3.1 停止源端的extract和datapump进程
GGSCI&stop exttr
GGSCI&stop dpetr
3.2 停止目标端的replicat和mgr进程
GGSCI&stop reptr
GGSCI&stop mgr
3.3 去除extract和datapump进程中的format release参数
因为在extract与datadump进程中都配置有formatrelease 11.1关键字,在目标端升级后,该配置需要取消,但是,取消该配置,并不只是从配置文件中删除这么简单的事,还需要对进程做ETROLLOVER操作,否则进程启动时,会报如下错误:
ERROR OGG-01416 File ./dirdat/tr000008, with format RELEASE 10.4/11.1, does not match
current format specification of RELEASE 11.2.Modify the parameter file to specify format RELEASE 10.4/11.1
or issueETROLLOVER prior to restart.
操作方法:在OGG中以edit paramsextract_name和edit params datadump_name的方式进入进行修改(具体操作:略)。
3.4 对extract与datadump进程做ETROLLOVER操作
因为extract与datadump都修改了format release信息,所以,都需要做ETROLLOVER操作
GGSCI&alter extract exttrETROLLOVER
GGSCI&alter extract dpetrETROLLOVER
3.5 修改源端datapump进程的EXTSEQNO号和EXTRBA号
因为源端的extract-exttr进程执行ETROLLOVER操作后,进程的extseqno和extrba号被重置至下一个extseqno号的第0号extrba,而datapump并不知道extract进程发生了这个变化,仍然守望在extract ETROLLOVER前的extseqno和extrba号上,永远也等不到这个extseqno上有新的RBA变化,造成就无法将extract新抽取到的数据,传递到目标端去。
所以,在extract进程ETROLLOVER后,需要使用&Alterextract group_name EXTSEQNO X, EXTRBA 0&的命令,重置checkpoint位置,datadump进程才能正常的将数据继续传递到远端。
3.5.1 记录下exttr进程ETROLLOVER后的extseqno和extrba号
GGSCI& info exttr, detail
GGSCI (server1) 140& info exttr, detail
EXTRACT EXTTR Initialized
13:02 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:27 ago)
Log Read Checkpoint
13:18:27 Seqno 365, RBA
SCN 0.726669)
Target Extract Trails:
Remote Trail Name Seqno RBA Max MB
./dirdat/tr 4 0 100
Extract Source Begin End
3.5.2 修改datadump进程的extseqno和extrba号
GGSCI&Alter extract dpetr EXTSEQNO 4,EXTRBA 0
3.6 查出datadump进程ETROLLOVER后的Target ExtractTrails的extseqno和extrba号
GGSCI (server1) 160& info dpetr, detail
EXTRACT DPETR Initialized
13:03 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:02:10 ago)
Log Read Checkpoint File ./dirdat/tr000003
13:18:18.000000 RBA
Target Extract Trails:
Remote Trail Name Seqno RBA Max MB
./dirdat/tr 4 0 100
3.7 备份目标端的OGG目录
#cp &ra /u01/ogg /u01/ogg_backup
3.8 记录下目标端replicat的checkpoint信息
GGSCI (server2) 1& info reptr, showch
REPLICAT REPTR Last Started
13:03 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:10:36 ago)
Log Read Checkpoint File ./dirdat/tr000003
13:18:16.296427 RBA
Current Checkpoint Detail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint (starting position in the data source):
Sequence #: 0
Timestamp: Not Available
Extract Trail: ./dirdat/tr
Current Checkpoint (position of last record read in the data source):
Sequence #: 3
Timestamp:
13:18:16.296427
Extract Trail: ./dirdat/tr
Current Checkpoint为 Sequence #: 3 RBA:
4、OGG软件升级
4.1 将新版OGG 11.2.1.0.1软件复制到原旧版OGG目录下
$ cp ogg112101_fbo_ggs__x64_ora11g_64bit.zip/u01/ogg
4.2 删除OGG目录下的fbo_ggs_Linux_x64_ora11g_64bit.tar文件
fbo_ggs_Linux_x64_ora11g_64bit.tar文件是旧版OGG安装时解压出来的tar文件,新版OGG软件unzip解压时,也会生成此文件,当然也可以使用unzip解压时的覆盖替代手工删除
$rm fbo_ggs_Linux_x64_ora11g_64bit.tar
4.3 在原版OGG目录中安装(解压)新版OGG软件
$unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
$tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
4.4 验证升级成功情况
[oracle@server2 u01]$ cd $OGG
[oracle@server2 ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_0_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 :14
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (server2) 1&
从这里看到,OGG软件版本已经升级至11.2.1.0.1
5、验证升级后replicat的checkpoint是否为一致
5.1 查看升级后replicat的checkpoint是否与升级前一致
GGSCI (server2) 46& info reptr, detail
REPLICAT REPTR Last Started
13:03 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:12:58 ago)
Log Read Checkpoint File ./dirdat/tr000003
13:18:16.296427 RBA
Extract Source Begin End
./dirdat/tr000003 * Initialized *
./dirdat/tr000000 * Initialized * First Record
Current directory /u01/ogg
Report file /u01/ogg/dirrpt/REPTR.rpt
Parameter file /u01/ogg/dirprm/reptr.prm
Checkpoint file /u01/ogg/dirchk/REPTR.cpr
Checkpoint table GOLDENGATE.CHECKPOINT_REPTR_01
Process file /u01/ogg/dirpcs/REPTR.pcr
Stdout file /u01/ogg/dirout/REPTR.out
Error log /u01/ogg/ggserr.log
Current Checkpoint 跟升级前一样,仍为Sequence #: 3 RBA: ,进一步证明升级成功。
6、验证升级后可正常同步数据场景准备
6.1 先记录下源端、目标端数据量为一致
(生产库环境此步可以跳过,因为生产库的表受业务的操作数据不断发生变化,本案例为创建一张专用用于测试升级的表进行测试)
SQL& select count(*) from goldengate.ogg_
----------
SQL& select count(*) from goldengate.ogg_
----------
源端和目标端数据量一致。
6.2 在目标端replicat进程启动前在源端删除部分数据
SQL& delete goldengate.ogg_upg where rownum &1000001;
1000000 rows deleted.
SQL& select count(*) from goldengate.ogg_
----------
7、重建目标端replicat进程
重建replicat进程的原因:ogg_11.1.1.1.2每条replicat进程只有CHECKPOINT一张表,而ogg_11.2.x.x.1每条replicat进程有CHECKPOINT,CHECKPOINT_LOX两张表,所以,如果在升级后,直接启动replicat进程,是无法启动的,会报如下错误:
ERROR OGG-00665 OCI Error describe for query (status = 942-ORA-00942: table or view does not exist), SQL&SELECT a.current_dir, a.seqno, a.rba, a.audit_ts, a.log_csn, a.log_xid, a.log_cmplt_csn, a.log_cmplt_xids, b.log_cmplt_xids FROM GOLDENGATE.CHECKPOINT_REPTR_01 a LEFT JOIN GOLDENGATE.CHECKPOINT_REPTR_01_lox b ON a.group_name = b.group_name AND a.group_key = b.group_key AND a.log_cmplt_csn = b.log_cmplt_csn WHERE a.group_name = &#39;REPTR&#39; AND a.group_key = &.
05:12:59 ERROR OGG-01668 PROCESS ABENDING.
提示表不存在,这张表是指:GOLDENGATE.CHECKPOINT_REPTR_01_lox表(CHECKPOINT_LOX表),重建replicat的最终目的是让在重建进程时,自动将两张checkpoint表都自动创建起来。
7.1 删除replicat进程与checkpoint表
GGSCI&dblogin userid goldengate,password goldengate
GGSCI&delete replicat reptr
GGSCI&delete checkpointtable GOLDENGATE.CHECKPOINT_REPTR_01
7.2 重新建立replicat进程
GGSCI&dbloginuserid goldengate, password goldengate
GGSCI&add checkpointtable goldengate.checkpoint_reptr_01
GGSCI&add replicat reptr, exttrail ./dirdat/tr,checkpointtable goldengate.checkpoint_reptr_01
到这一步,replicat启动后,还是无法继续应用源端投递过来的trail的,因为源端的datapump进程做过ETROLLOVER了,所以需要手工修改replicat的sequence#和RBA号到与datadump进程的target extract trails中的seqno和RBA一致。
7.3 修改目标端replicat的extseqno和extrba号
根据上面一步,查出的源端的datadump进程的remotetrail file的seqno号和RBA,决定replicat要更改的extseqno和extrba号
GGSCI (server2) 37& Alter replicat reptrEXTSEQNO 4, EXTRBA 0
7.4 查看新建立的replicat进程的SEQ#和RBA号
GGSCI(server2) 27& info reptr, showch
GGSCI (server2) 3& info reptr, showch
REPLICAT REPTR Initialized
13:39 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:07 ago)
Log Read Checkpoint File ./dirdat/tr000004
First Record RBA 0
Current Checkpoint Detail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint (starting position in the data source):
Sequence #: 4
Timestamp: Not Available
Extract Trail: ./dirdat/tr
Current Checkpoint (position of last record read in the data source):
Sequence #: 4
Timestamp: Not Available
Extract Trail: ./dirdat/tr
Start checkpoint 的sequence#和RBA号已经通过手工,都定位到了源端ETROLLOVER后的状态
Current checkpoint的sequence#和RBA号已经通过手工,也都定位到了源端ETROLLOVER后的状态
7.5 查看checkpoint表的数据内容
SQL&select * from goldengate.checkpoint_reptr_01;
No rows selected
SQL&select * from goldengate.checkpoint_reptr_01_
No rows selected
这时,两个checkpoint表中的数据还是空的,待replicat启动运行后,进行状态信息就会写入到checkpoint表中
8、启动源端和目标端进程
8.1 启动目标端的replicat和mgr进程
GGSCI&start mgr
GGSCI&start reptr
8.2 启动源端的datapump进程
GGSCI&start dpetr
9、验证是否能继续同步数据
此步最重要的,是要验证在升级时间时,源端所做的操作能否同步到目标库中来。本案例在升级过程中,对goldengate.ogg_upg表删除了1000000行数据。
9.1 查看目标端goldengate.ogg_upg表的数据变化
SQL& select count(*) from goldengate.ogg_
----------
SQL& select count(*) from goldengate.ogg_
----------
9.2 目标端查看checkpoint表内check状态
select * from goldengate.checkpoint_reptr_01
-------------------------------------------------
4 5-01-30 13:55:59.5/1/30 13:36:43
14:01:01 /u01/ogg .16.33 7.16.20512 1
从上面两步看来,升级后replicat正常的,接着升级前的状态在同步数据。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 ogg如何同步异构表 的文章

 

随机推荐