程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> OracleGoldenGate版本升級時的注意點

OracleGoldenGate版本升級時的注意點

編輯:Oracle教程

OracleGoldenGate版本升級時的注意點


也就是說:停止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.




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved