ORA-01114错误解决方法
(2009-07-03 14:42:30)
标签:
ora-01114临时表空间oracleit |
分类: oracle9i |
ORA-01114错误解决方法
ORA-01114: IO error writing block to file 203 (block #
971238)
ORA-27063: skgfospo: number of bytes read/written is
incorrect
IBM AIX RISC System/6000 Error: 28: No space left on device
Additional information: -1
Additional information: 253952
刚开始以为数据文件有坏块,通过下面的语句,想查出file 203 block #971238是哪个对象:
SELECT tablespace_name, segment_type, owner, segment_name
WHERE file_id = 203
查询不到记录。
再检查了一下A\B\C表,没有发现有坏块。
此时有点纳闷了,上网查询了一下错误,网上也有人遇到了类似的错误。
在初始化参数中,db_files = 200 , file#=201 就是第一个temp file,用下面的语句就可以查出FILE
203是哪个文件了。
SELECT * FROM (
SELECT file_name , tablespace_name ,file_id,'datafile' AS
TYPE
FROM DBA_DATA_FILES
UNION ALL
SELECT file_name , tablespace_name ,file_id + value ,'tempfile
'
FROM DBA_TEMP_FILES , v$parameter p
WHERE p.name = 'db_files'
)
WHERE file_id = 203;
file 203就是对应了temp03.dbf。
最后查了一下ORA-01114的解释,才发现解释中已经给出了很明确的提示。
ORA-01114 IO error writing block to file string (block #
string)
Cause: The device on which the file resides is probably offline. If
the file is a temporary file, then it is also possible that the
device has run out of space. This could happen because disk space
of temporary files is not necessarily allocated at file creation
time.
Action: Restore access to the device or remove unnecessary files to
free up space.