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

Posted

技术标签:

【中文标题】我可以使用 imp/exp 工具将数据库从 Oracle 9 迁移到 Oracle 10【英文标题】:Can I use imp/exp tools to migrate database from Oracle 9 to Oracle 10 【发布时间】:2011-01-30 01:31:21 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

你当然可以使用 exp 工具导出你的数据库,然后使用 imp 工具将它导入到新的数据库中。

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

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

Oracle 还发布了一些以前的 catexpX.sql 脚本可以是 以用户 SYS 身份执行 imp/exp 版本的工作(对于 向后兼容性)。例如, 一个可以跑 $ORACLE_HOME/rdbms/admin/catexp7.sql 在 Oracle 8 数据库上允许 要运行的 Oracle 7.3 exp/imp 实用程序 针对 Oracle 8 数据库。

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

【讨论】:

【参考方案3】:

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

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

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

无论您选择哪种方式,您都应该在集成服务器上使用“生产”数据的全部量对其进行全面测试。另请注意,导入可能需要比导出更长的时间。

【讨论】:

以上是关于我可以使用 imp/exp 工具将数据库从 Oracle 9 迁移到 Oracle 10的主要内容,如果未能解决你的问题,请参考以下文章

在oracle中导入dmp文件后怎样删除

Oracle数据库导入导出命令总结

oracle客户端tnsnames.ora在哪个目录

我安装了oracle客户端 ,为啥在dos下不能imp/exp 指令

关于IMP EXP逻辑备份oracle

关于tnsnames.ora 到底是配Oracle安装目录下的 还是instantclient_11_2下的?