昨天同事在执行一个存储过程时报如下错误:
ERROR at line 1: ORA-06502: PL/SQL: numeric or value error ORA-06512: at “D_INSIGHT.CREATE_EXTEND_TABLE”, line 53
ORA-01653: unable to extend table D_INSIGHT.DMS_DSR_MAIN by 128 in tablespace USERS ORA-27059: skgfrsz: could not reduce file size
OSD-04005: SetFilePointer() failure, unable to read from file O/S-Error: (OS 112) There is not enough space on the disk.
ORA-06512: at line 1
查看了一下该表对应的表空间(该表空间为LMT,段空间管理为自动),发现文件使用率已经达到99.92%,文件大小为4G,但检查该表空间的数据文件,发现已经设置为自动扩展,文件大小限制为32767MB,再检查硬盘分区,还有4GB的空间,那就奇怪了,按道理 oracle 会自动扩展文件大小来增加空间…再看一下错误信息:OSD-04005: SetFilePointer() failure, unable to read from file O/S-Error: (OS 112) There is not enough space on the disk.
而数据文件大小刚好为4G,会不会是受OS文件大小的限制呢?赶紧检查该文件对应的磁盘分区,晕,是FAT32!!!我们知道Windows中FAT32文件格式支持的最大文件大小为4G,所以 oracle 没办法自动扩展了,也就认为磁盘空间不够了。
原因找到了,解决起来就容易了:
方法一:增加数据文件
方法二:将该分区转化为NTFS格式
No Comments
Be the first to comment on this entry.
Leave a comment
Fields in bold are required. Email addresses are never published or distributed.
Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>URLs must be fully qualified (eg: http://www.dbifan.com),and all tags must be properly closed.
Line breaks and paragraphs are automatically converted.
Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.