ORA-29285: file write error导出文本出错


declare
  outfile utl_file.file_type;
begin
  outfile := utl_file.fopen('LOCAL_TRANSFER_WJC', 'operlog_20140716.txt', 'W');
  for rec in (select a.operatename,
       b.username,
       b.department,
       a.stepdes,
       a.operateobject,
       a.operatetime
  from mread.sup_operatelog partition(P_20140701) a,
       mread.con_mcpadmin_info b
 where a.operatename=b.useraccount) loop
    utl_file.put_line(outfile,
                      rec.operatename || ',' || rec.username || ',' ||
                      rec.department || ',' || rec.stepdes || ',' ||
                      rec.operateobject || ',' || rec.operatetime || ',');
  end loop;
  utl_file.fclose(outfile);
end;
/

declare
*
ERROR at line 1:
ORA-29285: file write error
ORA-06512: at "SYS.UTL_FILE", line 148
ORA-06512: at "SYS.UTL_FILE", line 889
ORA-06512: at line 14

ireaddb2_sd$wc -l operlog_20140716.txt
29325 operlog_20140716.txt

能够导出数据,但是又出错,分析为某一行数据长度较长,超出默认缓存大小

  outfile := utl_file.fopen('LOCAL_TRANSFER_WJC', 'operlog_20140716.txt', 'W');
修改为
  outfile := utl_file.fopen('LOCAL_TRANSFER_WJC', 'operlog_20140716.txt', 'W', 32767);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/692830/viewspace-1220442/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/692830/viewspace-1220442/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ORA-19502是Oracle数据库的一个错误代码,表示在写入文件时发生了错误。这个错误通常是由于磁盘空间不足、文件系统权限不足或磁盘故障等原因引起的。如果遇到这个错误,需要检查磁盘空间、文件系统权限和磁盘状态,以确定问题的根本原因并采取相应的措施来解决它。 ### 回答2: ORA-19502是Oracle数据库的错误代码,表示在写入文件时发生了错误。 这个错误通常是由于以下几个原因之一造成的: 1. 磁盘空间不足:在进行写操作时,数据库需要足够的空间来存储数据。如果磁盘空间不足,就会出现ORA-19502错误。解决方法是释放一些空间或者增加磁盘容量。 2. 磁盘读/写错误:可能出现了硬件故障或者磁盘损坏,导致无法写入文件。在这种情况下,需要修复或更换损坏的硬件,或者修复数据库文件系统。 3. 文件权限问题:数据库文件的权限可能设置不正确,导致无法写入文件。在这种情况下,需要检查文件权限并更正。 4. 写入目录不存在:如果写入目录不存在或者无法访问,就会出现ORA-19502错误。需要确保指定的目录存在并且可读写。 5. 其他软件或进程占用了文件:其他正在运行的软件或进程可能占用了数据库文件,导致无法写入。在这种情况下,需要关闭并释放对文件的占用。 总之,ORA-19502错误是由于在写入文件时发生了错误,可能是由于磁盘空间不足、磁盘读/写错误、文件权限问题、写入目录不存在或者其他软件/进程占用文件等原因。根据具体情况,我们可以采取相应的措施来解决该问题。 ### 回答3: ORA-19502: 写文件错误是Oracle数据库中的一个错误代码,它意味着在数据库备份或恢复操作过程中,Oracle无法将数据写入指定的文件中。 这个错误通常由以下原因引起: 1. 磁盘空间不足:当磁盘空间不足时,Oracle无法将数据写入文件。请确保备份或恢复操作所需的目标文件的磁盘空间足够。 2. 文件权限问题:如果数据库无法在指定的文件上执行写操作,可能是由于文件权限设置不正确导致的。请确保数据库进程具有对目标文件的写权限。 3. 文件系统故障:如果目标文件所在的文件系统出现故障或损坏,Oracle将无法将数据写入文件。请检查文件系统状态,并修复任何故障或损坏的情况。 4. 被占用的文件:如果目标文件正在被其他进程占用或打开,Oracle将无法将数据写入文件。请确保没有其他进程正在使用目标文件,或者将其关闭,然后重试操作。 如果发生ORA-19502错误,您可以通过以下步骤来解决问题: 1. 检查磁盘空间:确保备份或恢复操作所需的目标文件的磁盘空间足够。 2. 检查文件权限:通过检查文件权限设置,确保数据库进程具有对目标文件的写权限。 3. 检查文件系统状态:检查目标文件所在的文件系统是否正常运行,并修复任何故障或损坏。 4. 检查文件占用情况:确保目标文件没有被其他进程占用或打开,或者将其关闭,然后重试操作。 总之,ORA-19502错误意味着Oracle无法将数据写入指定的文件中,可能是由于磁盘空间不足、文件权限问题、文件系统故障或被占用的文件导致的。通过检查和解决这些问题,您可以解决ORA-19502错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值