我们需要导出一个 11g 的数据库以将其导入 10g 系统。但是我们需要省略一个包,或者至少是一些功能和过程,它们是使用 11g-only 特性意外实现的。
值得庆幸的是,10g 只是一个报告数据库,我们只需要在 10g 中实现的几个过程。
有什么想法吗?我已经看到了一些仅表导出或选择性导出某些表的选项。但是我们确实需要一些程序来完成。
我们需要导出一个 11g 的数据库以将其导入 10g 系统。但是我们需要省略一个包,或者至少是一些功能和过程,它们是使用 11g-only 特性意外实现的。
值得庆幸的是,10g 只是一个报告数据库,我们只需要在 10g 中实现的几个过程。
有什么想法吗?我已经看到了一些仅表导出或选择性导出某些表的选项。但是我们确实需要一些程序来完成。
我建议在指定 VERSION 和 INCLUDE 参数的 11g 数据库上使用 expdp (数据泵导出):
expdp dumpfile=10g.dmp directory=data_pump_dir version=10.2 INCLUDE=PROCEDURE:"LIKE '%XXX'"
这将生成一个与 10g 版本的数据泵导入兼容的数据泵导出文件,并包含以 XXX 结尾的过程。
或者,如果您只有几个要排除的对象,您可以使用 EXCLUDE 参数而不是 include to。
如果您使用 INCLUDE,则只会导出您指定的那些项目。
通过 INCLUDE/EXCLUDE 参数使用数据泵导出/导入过滤对象有很多选项。