使用expdp和impdp迁移Oracle数据库

lyfkaqu1  于 2022-12-29  发布在  Oracle
关注(0)|答案(4)|浏览(524)

是否需要为目标数据库准备表空间和/或用户(模式),以便成功地将模式从一个数据库(11 g R1)迁移到另一个数据库(11 g R2)?
目前我只能对11 gR 1数据库进行测试,我的测试是导出一个模式并将其导入到同一数据库中的新模式中。

expdp system/systempass schemas=oldschema

之后,我尝试导入它:

impdp system/systempass expdat.dmp remap_schema=oldschema:newschema

但这会导致错误:

UDI-00014: invalid value for parameter, 'attach'

1.这个错误是否告诉我newschema没有定义?
1.我是否必须创建新用户?
1.我是否必须为这样的新用户创建表空间?
这些问题还与新PC上新安装的11 g R2数据库有关。欢迎提出任何建议,将数据库迁移到新安装的数据库!

7uzetpgm

7uzetpgm1#

“是否需要为目标数据库准备表空间和/或用户(架构),以便成功地将架构从一个数据库(11 g R1)迁移到另一个数据库(11 g 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
举几个例子

7cwmlq89

7cwmlq892#

我想很多人来这里是为了:“*UDI-00014:无效的参数值 *'错误像我一样。对于那些我的情况如下。
我有一个不同的场景,对我来说,它是抱怨'remap_schema'参数。它似乎需要添加双引号的值如下:

之前(失败)

impdp用户/密码目录=转储目录转储文件=myfile.dmp重Map模式=我的模式:我的模式重Map表空间=我的模式:我的模式日志文件=mylog.log

之后(工作)

impdp用户/密码目录=转储目录转储文件=我的文件.dmp重Map架构=“我的架构”:“我的架构”重Map表空间=“我的架构”:“我的架构”日志文件=mylog.log

3df52oht

3df52oht3#

如果您在导入过程中没有使用ATTACH参数,那么请打开一个新的命令行窗口并运行导入,现在应该可以工作了。对我来说,环境变量是相同的,但有些如何现在工作。

93ze6v8z

93ze6v8z4#

我在使用转换参数(UDI-00014:参数“transform”的值无效),我将日志文件位移到了命令的最后一部分。换句话说,请检查顺序。

之前:(失败)

impdp MY_CLONE/password schemas=ORIGINAL directory= db_import_dmp  dumpfile=ORIGINAL.dmp logfile= CLONE.log remap_schema=ORIGINAL:MY_CLONE transform=oid:n;

***之后:(工作)

impdp MY_CLONE/password schemas=ORIGINAL directory= db_import_dmp  dumpfile=ORIGINAL.dmp remap_schema=ORIGINAL:MY_CLONE transform=oid:n logfile= CLONE.log;

相关问题