linux 11g expdp 导出报错求助

说实话,你的情况看起来有点混乱。
将老包协议适配器导出到Linux服务器时出现错误,我们最终发现这需要在数据库服务器上完成。
如果按照步骤操作还是不行,就需要仔细检查了。

您会在第一句中看到错误 ora-3 9 002 :invalidoperationora-3 9 07 0:unabletoopenthelogfileora-2 9 2 8 3 :invalidfileoperationora-06 5 1 2 :at&3 9 ;&3 9 ;sys.utl_file&3 9 ;&3 9 ;,line5 3 6 此错误始终出现在 utl_file 中。
有可能是文件的操作出现了问题,比如权限或者路径不正确。
想一想,在Linux中创建的exp_db文件夹和你使用create Directory指向数据库中的/oracle/app/exp_db路径,这两个路径在数据库中是否被识别?有时 /oracle/app 处的目录数据库可能不可见,并且它必须是完整路径,例如 /home/oracle/exp_db。

查看第二个错误 UDE-0001 4 :参数值无效,&3 9 ;attach&3 9 ;。
这显然是expdp命令使用不正确。
您使用 system/system@orcldbschemas=xir_app 是因为您想使用系统帐户导出,但 schemas=xir_app 参数用于 exp 命令,expdp 无法识别它。
要将特定用户的数据导出到expdp中,需要使用dumpfile参数指定导出文件,然后像这样expdp system/system@orcldbschemas=xir_app dumpfile=xirapp.dmp logfile=xirapp.log。
您的命令 expdpsystem/system@orcldbschemas=xir_appdirectory=EXP_DBdumpfile=xirapp.dmplogfile=xirapp.log;将系统帐户替换为 xir_app 帐户。
这肯定行不通。

当时我不明白为什么必须使用系统帐户来导出其他用户数据。
通常,expdp是使用目标用户自己的帐户导出的,例如expdp xir_app/xpar%1 2 3 @orcldbschemas=xir_app dumpfile=xirapp.dmp logfile=xirapp.log。
如果 xir_app 帐户甚至没有导出权限,则需要先向该用户授予权限,例如向 xir_app 授予 exp_full_database。

请参阅 expdp 命令的文档或请同事帮助您检查 utl_file 中的错误。
Linux 路径和数据库中的路径必须匹配。
不要在 expdp 中使用 exp 命令参数。

怎么查看oracle exp导出的文件在哪里

唉,查找通过 EXP 命令导出的 DMP 文件有时是一件令人头痛的事情。
上周,一位客户询问他运行命令后文件去了哪里。
我会告诉他我的经历。

你是对的。
默认文件位于执行命令的当前文件夹中。
如果您记得该文件的名称,只需在 Windows 资源管理器中搜索它即可。
输入您的全名。

如果你像我一样记性不好,连文件名都记不住,那么你就需要依赖扩展名了。
DMP后缀非常不言自明,只需搜索.dmp即可。
在Windows中搜索系统是最方便的,点击搜索框输入即可。
在 Linux 或 Mac 上,您必须使用命令行。
我经常使用命令 find /path/to/directory -name ".dmp"。
您也许可以手动检查特定参数。
一旦你经常使用这个东西,你就会习惯它。

但是,最烦人的是,当该目录下的文件太多时,搜索速度确实很慢,有时需要几分钟才能找到。
上次我帮同事找文件。
那家媒体上有数千张照片,他非常担心。
因此,最好的方法是在运行命令时指定完整路径和名称。
例如exp用户名/密码file=xxx.dmp@localhostdirectory=/specic/path/,这样会直接到指定位置,无需搜索。
之前出错了,将文件导入到临时文件夹中,结果找了半天也找不到。

背面也是一件很棒的事情,我绝对同意。
导出数据后,最好做好备份,保存到其他位置。
上次导出文件时,我发现数据有问题。
幸好它回来了,不然就惨了。
安全第一,不要放在容易损坏的地方。

同样的归档系统减少了。
不需要的文件不占用空间。
我会尝试一下,稍后删除它,以便我可以再次导入它。
或者制定定期清理计划,比如每月清理一次过期文件。

不知何故,管理这些文件的关键是养成良好的习惯,要么定义路径,要么记住后缀,要么做好备份。
这取决于你的情况。