关于db版本升级之后ogg版本也升级时,配置DDL复制时脚本的有关问题

关于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.

遵照执行即可!