是否需要使用表空间和/或用户(模式)准备目标数据库,以便将模式从一个数据库(11g R1)成功迁移到另一个数据库(11g R2)?
目前我只能使用11g R1数据库进行测试。我的测试是导出一个模式并将其导入到同一数据库中的新模式中。
expdp system/systempass schemas=oldschema
之后我尝试用以下方法导入它:
impdp system/systempass expdat.dmp remap_schema=oldschema:newschema
但这会导致错误:
UDI-00014: invalid value for parameter, 'attach'
newschema
未定义?问题还与新PC上新安装的11g R2数据库有关。欢迎任何将数据库迁移到新安装的数据库的建议!
答案 0 :(得分:5)
“是否需要使用表空间和/或用户(模式)准备目标数据库,以便将模式从一个数据库(11g R1)成功迁移到另一个数据库(11g R2)?”
表空间 - 是的。用户 - 没有。
UDI-00014: invalid value for parameter, 'attach'
我认为调用impdp时参数的顺序不正确。应该是以下形式:
impdp username/password DUMPFILE=<filename> [and then whatever other parameters you need for your import]
由于你正在进行“迁移”,我认为它是一个完整的imp / exp,在这种情况下你可能想要:
impdp username/password DUMPFILE=<filename> FULL=Y
关于您在同一个数据库中的当前测试,我建议您退房:
http://psoug.org/reference/datapump.html
有几个例子
答案 1 :(得分:1)
我认为有很多人来这里: ' UDI-00014:参数的无效值'错误,就像我一样。对于那些我的情况如下。
我有一个不同的场景,对我而言,它抱怨'remap_schema'参数。似乎我需要为以下值添加双引号:
之前(失败)
impdp user / password directory = dump_dir dumpfile = myfile.dmp remap_schema = my_schema:my_schema remap_tablespace = my_schema:my_schema logfile = mylog.log
之后(工作)
impdp用户/密码目录= dump_dir dumpfile = myfile.dmp remap_schema =“my_schema”:“my_schema”remap_tablespace =“my_schema”:“my_schema”logfile = mylog.log
答案 2 :(得分:0)
如果您在导入期间未使用ATTACH参数,则打开一个新的命令行窗口并运行导入,它现在应该可以正常工作。对我来说,环境变量是相同的,但有些现在是如何工作的。