将Oracle数据库从Windows迁移到Linux

我有一个在Windows XP上运行的Oracle 9.2.0.1数据库。 这有几个模式,并包括到远程Oracle数据库的公共数据库链接。

我想将这个数据库迁移到在Oracle Enterprise Linux上运行的Oracle 11g,并维护到远程数据库的数据库链接。

做这个的最好方式是什么?

可以用exp / imp来完成吗?

谢谢。

您可以尝试查看11g的升级指南

一种方法是在Windows机器上从9iR2升级到11g,然后将11g数据库从Windows迁移到Linux。 一个复杂的是11gR2在Windows上不可用。 另外,我认为在升级数据库之前,你需要升级到9iR2的terminal版本(我认为是9.2.0.8)。

另一个选项是imp / exp选项。 你可以做一个完整的源代码数据库的exp,但是你想要进行模式级别的导入到目的地(因为你不想覆盖9i版本的内置对象)。 您需要手动重新创buildPUBLIC对象(例如公共同义词,目录,数据库链接)。 DBMS_METADATA.GET_DDL可以帮助为此提取SQL。

如果数据量足够小,我会select后者。 如果它们太大,并且exp / imp花费太长时间,我可能会和前者一起使用跨平台可移动表空间(使用10g)来加速数据移动。 这可能意味着在Windows上等待11gR2几个月,或者在Windows上等待11gR1,然后在该级别上迁移,然后(可选)在Linux上升级到11gR2。