前提:linux系统下,并且utl_file。fopen(‘/mnt/Dadas’,'xxx.csv','w',32767);写文件时没有错误,
但是下边在进行追加utl_file。fopen(‘/mnt/Dadas’,'xxx.csv','A',32767);时就出错了。上网查了一下可能的原因:是因为在os上创建的dir无效或者目录不对,或者你的Oracle用户没有其相应目录的写权限!对照上述的两个原因查看了一下db服务器,os上创建的dir是正确的,也有写的权限。我实在是不知道问题出在哪,还有哪些原因能产生这个错误,请各位高人帮帮忙,指点一下,问题出在哪?
在此先感谢一下了。

解决方案 »

  1.   

    具体的咱也没玩过,可参考这个:
    http://blog.csdn.net/cnham/article/details/5927700
      

  2.   

    问题解决了,感谢回帖的兄弟,顺便把这次的原因跟大家说一下,情况类似的人可以参照一下。现象:写文件时出错ora-29283
    原因可能有两个,在os上创建的dir无效或者目录不对,或者你的Oracle用户没有其相应目录的写权限!发现每次做成的文件的权限都是rw-r--r--,所以写不进去。
    最后发现是在装db的时候有个配置文件配置错了,
    修改方法:oracle用户登录,执行下边命令。
    vim ~/.bash_profile
    把最后一行的 umask 022 改成 umask 000就可以了。