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

2015-02-02 13:23:22 · 作者: · 浏览: 49

要升级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 2015-01-30 13:02 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:00:27 ago)

Log Read Checkpoint Oracle Redo Logs

2015-01-30 13:18:27 Seqno 365, RBA 17822208

SCN 0.17726669 (17726669)

?

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 2015-01-30 13:03 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:02:10 ago)

Log Read Checkpoint File ./dirdat/tr000003

2015-01-30 13:18:18.000000 RBA 48953966

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 2015-01-30 13:03 Status STOPPED

Checkpoint Lag 00:00:00 (updated 00:10:36 ago)

Log Read Checkpoint File ./dirdat/tr000003

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

?

?

Current Checkpoint Detail:

?

Read Checkpoint #1

?

GGS Log Trail

?

Startup Checkpoint (starting position in the data source):

Sequence #: 0

RBA: 0

Timestamp: Not Available

Extract Trail: ./dirdat/tr

?

Current Checkpoint (position of last record read in the data source):

Sequence #: 3

RBA: 48953996

Timestamp: 2015-01-30 13:18:16.296427

Extract Trail: ./dirdat/tr

?

……

?

Current Checkpoint为 Sequence #: 3 RBA: 48953996

4、OGG软件升级

4.1 将新版OGG 11.2.1.0.1软件复制到原旧版OGG目录下

$ cp ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip/u01/ogg

4.2 删除OGG目