因为在Edelivery.oracle.com上找不到Goldengate for Oracle 8i的build,所以一度猜想是不是能用GG for Oracle 9i对8i做extract。之后在metalink上发现了这个文档《Compatibility between OGG builds and Oracle database Versions》,明确介绍了ogg的build需要与数据库版本一致,即:
针对extract来说,Oracle数据库版本应与Oracle Golden Gate的build信息完全一致
举例而言
OGG 10g build(如Oracle GoldenGate V11.1.1.0.0 for Oracle 10g):该build可以在Oracle 10.1或10.2版本的数据库上做extract
OGG oracle 10.1 build:该build仅可以为Oracle 10.1版本的数据库做extract,其他版本均不可以
OGG oracle 10.2 build:该build仅可以为Oracle 10.2版本的数据库做extract,其他版本均不可以
针对replicat来说,数据库主版本号(major database version)应与OGG的build一致
举例而言
OGG 10g build:可以针对Oracle 10.1和10.2版本的数据库做replicat操作,其他版本均不可以
OGG oracle 10.1 build:可以针对Oracle 10.1和10.2版本的数据库做replicat操作,其他版本均不可以
OGG oracle 10.2 build:可以针对Oracle 10.1和10.2版本的数据库做replicat操作,其他版本均不可以
其他9i或者11g的OGG build与Oracle database版本间的兼容性也如上述关系一般。
该文档[1086154.1]还指出以上版本要求是因为各数据库版本间可能存在不同的data dictionary calls,而OGG中这部分代码是固定写死的:
“The reason behind these requirements is that the data dictionary calls may be different from one version of the database to the other and our code is database version specific”;
从这个文档来分析,不是因为Oracle各版本所产生的日志文件的格式存在差异而导致OGG无法做extract操作,那么如果在一个10g的数据库中设置了一个较低的compatible兼容性参数也不会导致OGG for Oracle 10g无法正确抽取日志文件了。
上述观点仍需测试,to be continued…….