在做项目中,遇到在数据库通过数据泵的形式导出或者导入时,会报 ora-06512 "sys.utl.file" 536 line 错误。
解决问题的方法如下:
(1)确保你创建了oracle DIRECTORY 路径,可以通过sql语句查看,select * dba_from directories;
(2)确保你创建的orcacle DIRECTORY 路径和物理路径完全一致,可以通过sql命令在linux/AIX下 host ls +你创建oracle DIRECTORY 路径,查看是否存在物理路径。关于host命令,可以参考oracle相关资料,host主要是用于切换到本地系统命令上。
(3):确保你创建的orcacle DIRECTORY 文件拥有读写权限,没有权限可以通过 grant read,write on directory Directory_name to User_name,注Directory_name为你创建的oracle目录,User_name为你要授权给哪个用户。
(4)在linux或者AIX环境下,特别需要注意用户权限问题,我就是在导出数据的时候,因为文件的权限问题,报的这个错误。
注意上面的所有sql语句都是dba用户操作的。