甲骨文中的impdp。为啥它不创建用户?
Posted
技术标签:
【中文标题】甲骨文中的impdp。为啥它不创建用户?【英文标题】:impdp in Oracle. Why it does not create users?甲骨文中的impdp。为什么它不创建用户? 【发布时间】:2015-08-22 10:17:06 【问题描述】:我是 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】:当转储文件包含创建用户语句时,impdp 将创建使用的documentation states:
如果您要重新映射到的架构尚不存在,则导入 操作创建它,前提是转储文件集包含 必要的 CREATE USER 元数据,并且您正在导入足够的 特权。
因此,要么您的转储文件不完整(例如由于缺少权限),要么您缺少目标数据库的权限。
所以请检查您对源数据库和目标数据库的权限。请使用相应的信息更新您的问题。要使导出包含架构定义,您必须拥有DATAPUMP_EXP_FULL_DATABASE
权限。
【讨论】:
OP说他是用户system
用户。需要比system
用户拥有的更大权限吗?
与system
用户有同样的问题。添加DATAPUMP_EXP_FULL_DATABASE
权限实际上有所帮助。我不认为system
用户默认拥有完整的 exp/imp 权限。以上是关于甲骨文中的impdp。为啥它不创建用户?的主要内容,如果未能解决你的问题,请参考以下文章