Oracle GoldenGate版本升級時的注意點
最近在進行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雙向複製環境
本文永久更新連結地址: