0

我正在使用 Oracle 的imp/exp实用程序将数据库传输到另一台服务器。首先,我创建了一个与源数据库具有相同表空间的空数据库。

当我使用full mode导入的结果很好时,数据库工作正常,但由于现有的系统对象,我得到了大量的错误。这相当令人不安,我无法检查是否存在“真实”错误消息。可以使用一个选项,ignore=Y但根据文档,这意味着表数据可能会重复。这听起来不太好。或者如果我只导入一次就不会重复?

我也可以使用user modeimport 但根据此表在我看来,重要的部分不会以这种方式导入,我认为它也应该避免。

有什么解决办法?

我应该expdp/impdp改用,他们能解决这个问题吗?

提前致谢。

4

2 回答 2

2

You should definitely use expdp/impdp for many reasons (usability, performance, etc.). Of course, it can unload/load whole database. You can use TABLE_EXISTS_ACTION to control what should happen (SKIP | APPEND | TRUNCATE | REPLACE) in tables are already in the target database. You can also use EXCLUDE parameter to avoid import of unchanged/unwanted schema objects.

于 2012-05-15T10:56:01.680 回答
0

通常你只对某些模式感兴趣并且你不想导入系统模式。如果您的转储文件包含完整导出,您可以导入您感兴趣的架构,如下所示:

imp system/<password>@<database> file=yourdump.dmp fromuser=<user1>,<user2>...<user_n>
于 2012-05-15T10:53:23.027 回答