对oracle 10g对回收站有要求,必须关闭。在oracle 11g和12c可以开启。
·ddl_enable.sql启用DDL复制,实质是个触发器。用以想MARKER和HISTORY表插入DDL信息
·@?/rdbms/admin/dbmspool.sql?(可选项)把执行过程中使用的package加载到内存中以提高DDL触发器和性能效率。它引用了dbms_shared_pool系统包。
·?ddl_pin.sql?(可选项)它与dbmspool.sql共同使用,指定schema ogg。
至此,执行DDL复制的脚本执行完成,接下来需要分别修改源端和目标端的参数文件,是对应的进程执行DDL复制。
在extract进程和pump进程中分别添加? “DDL INCLUDE ALL“
在目标端的replicat进程中,添加“DDL INCLUDE ALL”和“DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5”
修改完成后重启进程生效。
·源端数据库
·目标端数据库
通过测试不能发现在目标端数据库也生成了表T2,实现了DDL操作。仔细观察,发现源端数据库和目标端数据库的T2的数据量不一致呢,不禁联想到ogg复制是通过解析和应用SQL语句实现数据同步的。
|