Goldengate升级之目标端(replicat端)升级(二)

2015-02-02 13:23:22 · 作者: · 浏览: 50
录下的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 验证升级成功情况

$cd $OGG

[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_120423.0230_FBO

Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14

?

Copyright (C) 1995, 2012, 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 2015-01-30 13:03 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:12:58 ago)

Log Read Checkpoint File ./dirdat/tr000003

2015-01-30 13:18:16.296427 RBA 48953996

?

Extract Source Begin End

?

./dirdat/tr000003 * Initialized * 2015-01-30 13:18

./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: 48953996,进一步证明升级成功。

6、验证升级后可正常同步数据场景准备

6.1 先记录下源端、目标端数据量为一致

(生产库环境此步可以跳过,因为生产库的表受业务的操作数据不断发生变化,本案例为创建一张专用用于测试升级的表进行测试)

源端

目标端

SQL> select count(*) from goldengate.ogg_upg;

COUNT(*)

----------

2150000

SQL> select count(*) from goldengate.ogg_upg;

COUNT(*)

----------

2150000

?

源端和目标端数据量一致。

6.2 在目标端replicat进程启动前在源端删除部分数据

SQL> delete goldengate.ogg_upg where rownum <1000001;

1000000 rows deleted.

SQL> commit;

SQL> select count(*) from goldengate.ogg_upg;

COUNT(*)

----------

1150000

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

提示表不存在,这张表是指: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, sh