我可以使用imp / exp工具将数据库从Oracle 9迁移到Oracle 10

时间:2010-03-21 15:29:36

标签: oracle database-migration imp exp

我是分包商,我的客户希望将Oracle数据库从9升级到10.其他供应商将执行升级过程,我被要求在升级之前创建我需要的任何备份,然后重新创建环境Oracle 10.我的所有数据都存储在单个模式的单独数据库中。没有花哨的关系,脚本或类似的东西(实际的应用程序支持不同的dbs:Oracle,SQL Server,Postgres,所以我们要避免任何特定于DB的代码)。

我希望使用imp / exp,但我不确定imp / exp是否向后兼容(从O9和imp到O10的exp)?

如果有更好/推荐的处理类似情况的方法,我将不胜感激任何建议。

3 个答案:

答案 0 :(得分:3)

Yes, you can use imp/exp to achieve that。当您使用Oracle10时,请使用Oracle的新Data Pump实用程序而不是imp / exp。

答案 1 :(得分:2)

您可以肯定使用exp工具导出数据库,然后使用imp工具将其导入新数据库。

  

可以在不同版本的Oracle之间导入/导出吗?

     

导入的不同版本   实用程序向上兼容。这个   意味着可以获取导出文件   从旧的导出版本创建,   并使用更高版本的导入它   导入实用程序。这是相当的   有效的升级数据库的方法   从一个版本的Oracle到   下。

     甲骨文还发布了一些以前的版本   可以是catexpX.sql脚本   用户SYS启用旧版本   imp / exp版本工作(for   向后兼容性)。例如,   一个人可以跑   $ ORACLE_HOME / RDBMS /管理/ catexp7.sql   在Oracle 8数据库上允许   要运行Oracle 7.3 exp / imp实用程序   针对Oracle 8数据库。

有关此问题的更多信息,请查看Import Export FAQ

答案 2 :(得分:0)

虽然您可以使用exp / imp从旧版本“升级”,但我不会这样做!

通过使用exp / imp,您可以有效地创建新数据库。您将丢失所有表统计信息。当然,你可以重新创建它们。但为什么?您还需要创建新的登录名/密码。确保没有涉及第3方工具,用于查询数据库。也许在此期间,已经创建了第二个模式(例如,用于生成报告),该模式在“您的”应用程序表上具有授权。

在我看来,安装oracle 10软件然后升级现有数据库会更好。 Oracle提供了足够的迁移工具。

无论您选择哪条道路,都应该使用“生产”数据的完整卷在集成服务器上进行彻底测试。另外请注意,导入所需的时间比导出时间长得多。