oracle impdp 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle impdp 问题相关的知识,希望对你有一定的参考价值。

环境:RHEL 64位 oracle 11gR2操作:于windows 2003 X64系统中expdp,复制到linux下,执行impdp命令: impdp user/psd directory=recoverpath dumpfile=a.dmp
报错:ora-39001:参数值无效
ora-39000:转储文件说明错误
ora-31640:无法打开要读取的转储文件“/data/recover/a.dmp”
ora-27037:无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory Additional information: 3 求大侠指点迷津啊~~~~

参考技术A 你在数据库里创建recoverpath这个目录了吗?
SQL> Create Or Replace Directory 'recoverpath' as '/data/recover';
SQL>Grant read,write on Directory 'recoverpath' to user;
参考技术B 他说找不到文件“/data/recover/a.dmp“这个啊,
impdp user/psd directory=recoverpath dumpfile=a.dmp这儿写你文件的绝度路径应该就没事了。
参考技术C 1 确定是否创建了 recoverpath这个directory
2 dumpfile=/...... 这了写完整的路径和文件名
参考技术D recoverpath 变量有没有在数据库里面指定呀。 第5个回答  2019-05-05 没有那个文件

我是 Oracle 数据库 11g R2 中的 impdp 转储文件,对吗?

【中文标题】我是 Oracle 数据库 11g R2 中的 impdp 转储文件,对吗?【英文标题】:Am I impdp dump file in Oracle database 11g R2, right? 【发布时间】:2022-01-22 15:36:07 【问题描述】:

我有一个没有日志文件的转储文件,我不知道 expdp 模式用户是什么,所以编辑如下 parfile:

    directory=my directory 
    remap_schema=rx:tbs
    table_exist_action=replace

我的问题是用户“rx”不存在,IMPDP通过上面的方式,IMPDP是否将所有对象正确加载到数据库中

【问题讨论】:

【参考方案1】:

您不需要日志文件

不清楚是你拿到那个参数文件,还是你自己写的

认为前者;否则,您怎么知道rx 用户? 如果是这样,您不必担心 rx 用户 - 看起来转储文件包含属于(ed)该用户的对象 您应该拥有的是tbs 用户(在目标数据库中创建)。为什么?因为remap_schema 参数。当然,你不必导入tbs;创建任何其他用户并修复参数文件

那就这样吧;将转储文件导入为例如

impdp system/password@database parfile=that_parameter_file.txt

【讨论】:

感谢Littlefoot的帮助,参数文件我知道怎么写正确,问题是我只有dump文件,没有得到正确的expdp schema users或者expdp log,所以我尝试给一个假用户“rx”(原始数据库没有那个用户),我想问一下impdp是否通过这种方式正确加载它。

以上是关于oracle impdp 问题的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12C impdp权限问题

Oracle impdp导入异常

Oracle 数据泵 impdp 到远程服务器

我是 Oracle 数据库 11g R2 中的 impdp 转储文件,对吗?

来自 19c 的 Oracle XE 18c impdp 转储

oracle 11g expdp impdp详细使用方法