Oracle GoldenGate版本升级时的注意点

本文详细介绍了在进行Oracle GoldenGate版本升级时遇到的一个常见问题,即在升级目的端时server进程被调度导致的tar解压报错。作者通过完善升级步骤,确保了在升级过程中server进程的正确处理,从而避免了解压失败的问题,并提供了详细的解决措施。其中包括下载最新版本的GoldenGate、停止所有相关进程、备份原有环境、解压新版本并在验证无误后再启动GoldenGate进程等步骤。
本文是原创文章,转载请注明出处 http://blog.youkuaiyun.com/msdnchina/article/details/42046205

最近在进行Oracle GoldenGate的版本升级,参考的文档为:
How To Upgrade Goldengate From 11.2.1.x to 11.2.1.y for Oracle Database (文档 ID 1601971.1)

该文档中说的很清楚:
2. Stop the OGG processes on the existing OGG v11.2.1.x home including the manager

也就是说:停止ogghome下的所有进程:extract(包括抽取和传输),replicat(复制),server(在目的端的写入trail file的进程),mgr进程
其中,server进程可能容易被忽略掉。因为其他三类的进程(extract和replicat和mgr)都能用命令stop掉。

在本案例中,进行的是OGG目的端的升级,恰恰此时server进程被调度起来,导致tar -xvf ggs_AIX_ppc_ora11g_64bit.tar 报错:
oracle@hosta:/home/oracle/ggs$ tar -xvf ggs_AIX_ppc_ora11g_64bit.tar
x .
x ./mgr, 5176606 bytes, 10111 media blocks.
x ./ggsci, 6273278 bytes, 12253 media blocks.
x ./ggcmd, 3087685 bytes, 6031 media blocks.
x ./ggMessage.dat, 1334816 bytes, 2608 media blocks.
x ./help.txt, 178647 bytes, 349 media blocks.
x ./tcperrs, 759 bytes, 2 media blocks.
x ./bcrypt.txt, 1725 bytes, 4 media blocks.
x ./libxml2.txt, 1668 bytes, 4 media blocks.
x ./zlib.txt, 1476 bytes, 3 media blocks.
x ./freeBSD.txt, 1968 bytes, 4 media blocks.
x ./notices.txt, 213535 bytes, 418 media blocks.
tar: 0511-188 Cannot create ./libxerces-c.a: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libicui18n38.a: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libicuuc38.a: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libicudata38.a: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libantlr3c.so: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libggrepo.a: Cannot open or remove a file containing a running program.
tar: 0511-188 Cannot create ./libgglog.a: Cannot open or remove a file containing a running program.
x ./dirjar

省略部分

tar: 0511-188 Cannot create ./libdb-5.2.so: Cannot open or remove a file containing a running program.
省略部分
tar: 0511-188 Cannot create ./server: Cannot open or remove a file containing a running program.
省略部分

tar -xvf ggs_AIX_ppc_ora11g_64bit.tar 报错归报错,但是能执行完成,只是OGG的新版本的个别程序文件(binary)无法覆盖,进而导致新版本OGG无法登陆,如下:
oracle@hosta:/home/oracle/ggs$
oracle@hosta:/home/oracle/ggs$
oracle@hosta:/home/oracle/ggs$
oracle@hosta:/home/oracle/ggs$ ggsci
exec(): 0509-036 Cannot load program ggsci because of the following errors:
rtld: 0712-001 Symbol _MSG_ERR_COLUMN_BUFFER_OVERFLOW__FP14CSourceContextiT2Q2_15CMessageFactory18MessageDisposition was referenced
      from module ggsci(), but a runtime definition
      of the symbol was not found.
rtld: 0712-002 fatal error: exiting.
oracle@hosta:/home/oracle/ggs$

基于此种问题,我对How To Upgrade Goldengate From 11.2.1.x to 11.2.1.y for Oracle Database进行了完善,完善后的升级步骤如下:
1. Download the latest OGG v11.2.1.y version provided by OGG Support team.

2. Stop the OGG processes on the existing OGG v11.2.1.x home including the manager,and exit all GGSCI sessions,
   并使用ps -ef | grep ggs 命令确认$OGG_HOME下没有任何进程在运行。(注意:我之所以grep ggs是因为我的$OGG_HOME的路径中包括ggs)--->这是我加的
3. Take a backup of the existing OGG home
4. Unzip and untar the new build on top of the existing OGG home. This will overwrite the binaries,
   确认如下问题:
   4.1 在tar -xvf的输出日志中,不包括任何的“Cannot open or remove a file containing a running program.”                  --->这是我加的
   4.2 进入ggsci命令提示符,确认ggsci能正常进入,并确认$OGG_HOME已经升级到新的ogg版本。                                    --->这是我加的

5-7步省略,请参考该mos文章
以下步骤照抄该mos文章,对以下步骤,我并没有任何的修改。
8. If using DDL replication steps 9 to 14 to needs to be followed. If using only DML replication then skip steps 9 to 14

9. Stop doing DDL changes on the source db and run the ddl_disable script as sysdba to disable the OGG ddl trigger

10. Disconnect all sessions that ever issued DDL. Otherwise the database might generate ORA* errors

11. Run the ddl_setup script as sysdba. You will be prompted for the name of the Oracle GoldenGate
DDL schema.

12. Run the role_setupscript to recreate the Oracle GoldenGate DDL role.

13. Grant the role that you created to all Oracle GoldenGate users under which the
following Oracle GoldenGate processes run:Extract, Replicat, GGSCI, and Manager.
You might need to make multiple grants ifthe processes have different user names.

14. Run the ddl_enable.sqlscript to enable the DDL trigger.

15. Start the OGG process back

16. Resume doing DDL changes to the db.




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值