Oracle中的impdp。为什么不创建用户?

时间:2015-06-08 03:24:10

标签: oracle database-migration datapump impdp

我是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个用户。如何在空服务器中执行完全导入。我只想导入完整的数据库和用户以及所有对象。

1 个答案:

答案 0 :(得分:0)

当转储文件包含create user语句时,impdp将创建使用的documentation states

  

如果您要重新映射的架构尚不存在,则导入   如果转储文件集包含,则操作会创建它   必要的CREATE USER元数据,并且您正在导入足够的内容   特权。

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

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