天天看點

關于db版本更新之後ogg版本也更新時,配置DDL複制時腳本的問題

關于db版本更新之後ogg版本也更新的問題。

首先說明,此處的db版本更新是10.2.0.5更新到11.2.0.3,是以屬于 major version 的變化。

什麼叫做 major version呢?

mos文章Oracle Database End of Premier Support For Major Releases - Frequently Asked Questions (Doc ID 1559513.1)

有如下的論述:

2. What is a major release?
For the Oracle Database, a major release has a distinct first two places in its version number. 
For example 11.1, 11.2, and 12.1 are major releases.  
Within each major release there are different version number variations for patch sets (e.g. 11.2.0.3, 11.2.0.4), 
and patches (e.g. 11.2.0.3.4) - all of those are considered part of the major release. 
           

話題回到db版本更新之後ogg版本也更新的情形上。

由于屬于major version的更新,由于OGG版本是跟Oracle database software 的major version 比對的,是以,OGG的版本也需要更新。

那麼有人可能有疑問:适用于db 11.2.0.3下的OGG的新版本目錄下,所有的DDL複制腳本需要重新跑吧?比如下面的順序:

9.    執行sql
SQL>@marker_setup.sql   ------->該步在更新時不需要執行。
10.    執行sql
SQL>@ddl_setup.sql      -------->OGG更新時跑這個腳本。
11.    執行sql
SQL>@role_setup.sql     -------->OGG更新時跑這個腳本。
12. 授權
SQL> grant ggs_ggsuser_role to goldengate;   -------->OGG更新時執行這個指令。
13.    執行sql
SQL>@ddl_enable.sql     -------->OGG更新時執行這個指令。
           

其實是不需要全部重新跑的。哪些需要重新跑,按照mos文章How To Upgrade Goldengate From 11.2.1.x to 11.2.1.y for Oracle Database Doc ID 1601971.1進行更新即可。

在該文章中,有如下的步驟:

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.

遵照執行即可!

繼續閱讀