代码改变世界

ORA-19502: write error on file "xxxxx", block number xxxx

2013-08-08 08:25  潇湘隐者  阅读(27549)  评论(0编辑  收藏  举报

 

错误现象:

在ORACLE 10g下为表空间IGNITE_EGVSQL01增加数据文件时,报如下错误:

SQL> ALTER TABLESPACE IGNITE_EGVSQL01
     ADD DATAFILE '/oradata/ignt/ignite_egvsql01_d02.dbf' SIZE 4096M
     AUTOEXTEND OFF;

ERROR at line 1:
ORA-19502: write error on file "/oradata/ignt/ignite_egvsql01_d02.dbf", block number 334080 (block size=8192)
ORA-27072: File I/O error
Linux-x86_64 Error: 25: Inappropriate ioctl for device
Additional information: 4
Additional information: 334080
Additional information: 376832

错误原因:

从报错信息来看应该是写文件时遇到I/O错误,一般是磁盘空间不足导致。用df命令查看磁盘空间

[root@gsp ignt]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      37G   23G   13G  64% /
/dev/sda1                99M   23M   71M  25% /boot
tmpfs                  2.0G  1.1G  941M  53% /dev/shm
/dev/mapper/VolGroup01-LogVol10
                      50G   46G  1.6G  97% /oradata

 

解决方法:

很明显/oradata只剩下1.6G空间了,不足以创建4G的数据文件,所以报上面错误。要解决这个问题,那么减小数据文件的大小或为增加资源。