ORA-00603错误

今天创建索引的时候遇到了ORA-00603错误,提示:ORA-00603: ORACLE server session terminated by fatal error

查看告警日志,发现如下信息:

ORA-00603错误_第1张图片

我们可以发现这是设备存储不足的原因:

到主机上清理出部分空间之后,恢复正常。出现这个错误还有可能是临时表空间不足,目录数过多:

下面是metalink上的一段话:

Hello, 

The file number should appear in v$datafile. If 201 is higher than the number set for db_files, the file is a temp file and you can try the following: 
SELECT name FROM v$tempfile WHERE file#=( - )

If your DB_FILES parameter is set to 100 within the init.ora and your error shows a problem with file 101, you will know the problem is with v$tempfile file# = 1. 

This appears to be an operating system specific issue. You may be running into a OS file size limitation. You will want to check the event viewer for further error messages. You should post to the Microsoft Installation/OS: RDBMS for further information as to why this problem is occuring.


也就是说,总的数据文件数不能超过设置的值,我们可以参数查看设置的最大文件数:

ORA-00603错误_第2张图片

或者show parameter db_files

ORA-00603错误_第3张图片

如果临时表空间过大需要添加临时表空间,如果文件数过多,可以修改数据文件参数。

附:查看临时表空间使用情况:

SELECT ROUND((F.BYTES_FREE + F.BYTES_USED) / 1024 / 1024, 2) "total MB",
       ROUND(((F.BYTES_FREE + F.BYTES_USED) - NVL(P.BYTES_USED, 0)) / 1024 / 1024,
             2) "Free MB",
       D.FILE_NAME "Datafile name",
       ROUND(NVL(P.BYTES_USED, 0) / 1024 / 1024, 2) "Used MB",
       ROUND((F.BYTES_FREE + F.BYTES_USED) / 1024, 2) "total KB",
       ROUND(((F.BYTES_FREE + F.BYTES_USED) - NVL(P.BYTES_USED, 0)) / 1024,
             2) "Free KB",
       ROUND(NVL(P.BYTES_USED, 0) / 1024, 2) "Used KB",
       0 "Fragmentation Index"
FROM   SYS.V_$TEMP_SPACE_HEADER F,
       DBA_TEMP_FILES           D,
       SYS.V_$TEMP_EXTENT_POOL  P
WHERE  F.TABLESPACE_NAME(+) = D.TABLESPACE_NAME
AND    F.FILE_ID(+) = D.FILE_ID
AND    P.FILE_ID(+) = D.FILE_ID


你可能感兴趣的:(Oracle)