6

我是 oracle 的新手,我正面临着impdp. 我有一个生产服务器,我创建了一个新服务器用于测试目的,所以我安装了 centos、oracle 并创建了数据库"sire"。现在我使用以下命令从生产服务器进行转储:

expdp system/password@sire full=Y 
directory=pump_dir dumpfile=sire_dump.dmp logfile=sire.log

我来到新服务器,执行impdp:

    impdp system/password@sire full=Y 
directory=pump_directorio dumpfile=sire_dump.dmp logfile=sire_imp.log

它开始进行导入,但随后我收到如下错误:

“用户 vberrios 不存在”。还有错误,因为它找不到一些模式和表空间。

我的问题是:不应该impdp full=Y导入所有用户和模式?我读过我必须在目标服务器中创建用户,但我在数据库中有大约 300 个用户。如何在空服务器中进行完全导入。我只想导入完整的数据库和用户以及所有对象。

4

1 回答 1

-1

文档指出,当转储文件包含创建用户语句时,impdp 将创建使用:

如果您要重新映射到的模式尚不存在,则导入操作会创建它,前提是转储文件集包含必要的 CREATE USER 元数据并且您正在使用足够的权限进行导入。

因此,要么您的转储文件不完整(例如由于缺少权限),要么您缺乏目标数据库的权限。

因此,请检查您对源数据库和目标数据库的权限。请使用相应的信息更新您的问题。要使导出包含架构定义,您必须具有DATAPUMP_EXP_FULL_DATABASE权限。

于 2015-06-08T06:34:07.440 回答