我是甲骨文的新手,我正面临着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条答案
按热度按时间vhmi4jdf1#
当转储文件包含create user语句时,impdp将创建的documentation states使用:
如果您要重新Map到的架构尚不存在,则导入操作将创建该架构,前提是转储文件集包含必要的CREATE USER元数据,并且您正在使用足够的权限进行导入。
因此,要么是转储文件不完整(例如,由于缺少特权),要么是缺少目标数据库上的特权。
因此,请检查您对源数据库和目标数据库的权限。请更新您的问题,然后相应的信息。要使导出包含架构定义,您必须具有
DATAPUMP_EXP_FULL_DATABASE
权限。