Dmp文件导入创建触发器错误

时间:2015-04-20 17:59:48

标签: database oracle import oracle11g export

我使用以下命令(使用Oracle 11g)将一台服务器的完整数据库备份移到另一台服务器上:

exp SYSTEM/password@db1 full=y grants=y rows=y file=backup.dmp

现在,当我想使用它将其导入其他数据库时:

imp SYSTEM/password file=backup.dmp fromuser=scott touser=scott

我首先收到与数据库链接相关的错误:

Create Database Link Failed. ORA-01031: insufficient privileges.

如果有人能够解释为什么imp命令试图将我的新数据库链接到未连接的源数据库会有所帮助。 但除此之外,这不是我的主要问题......

在第一个错误之后,它继续导入并导入所有的行和表,然后在最后我得到一系列与错误

创建触发器相关的错误

ORA-00942: table or view does not exist

我在导入参数中遗漏了什么?

1 个答案:

答案 0 :(得分:-1)

您似乎没有权限创建数据库链接,请以sys用户身份运行

SQL> grant create database link to scott;

 Grant succeeded.

然后重新导入转储文件,触发器失败,因为相关的表不存在,我假设数据库链接将首先用于创建表。

如果您只想导出scott用户,则无需连接到sys, 这将有效,

export command

exp scott/pwd@db1 file=backup.dmp log=backup_log.log owner=scott 

import command

imp scott/pwd@db? file=backup.dmp log=imp_backup.log full=y