欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle GoldenGate版本升级时的注意点

程序员文章站 2024-02-03 15:58:10
...

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

最近在进行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.

GoldenGate单向表DML同步

Oracle GoldenGate 系列:Extract 进程的恢复原理

Oracle GoldenGate安装配置

Oracle goldengate的OGG-01004 OGG-1296错误

Oracle GoldenGate快速入门教程:基本概念和配置

搭建一个Oracle到Oracle的GoldenGate双向复制环境

本文永久更新链接地址: