今天数据库不能启动了,报ORA-03113: end-of-file on communication channel的错误,经过网上搜索相关信息如下:
手动关闭Oracle之后打算再次启动Oracle: $sqlplus ‘/as sysdba’ SQL> startup ORA-03113: end-of-file on communication channel 结果便出现了以上错误。 通过上网查询出错原因,常见的原因有以下几个: 1、Unix核心参数设置不当 2、Oracle执行文件权限不正确/环境变量问题 3、客户端通信不能正确处理 4、数据库服务器崩溃/操作系统崩溃/进程被kill 5、Oracle 内部错误 6、特定SQL、PL/SQL引起的错误 7、空间不够 8、防火墙的问题 因为oracle已经正常运行了一个月,因此unix参数不对、权限环境变量、防火墙这些在首次启动就会发现的问题不应该现在才出现;而对于客户端通信、特定的SQL引起的错误,因为在启动过程中就已经报错,所以也排除。 由此判断,数据库服务崩溃/系统崩溃/进程被kill、Oracle内部错误、空间不够可能是原凶。 首先从最容易查起的原因开始,查询磁盘空间,结果磁盘空间利用不到30%,剩余空间足够; 于是检查Oracle内部错误: $cd $ORACLE_HOME/admin/SID/cdump 发现大量的core,看来原因找到了。但所有的core目录都是空的,没有任何文件。 使用ulimit –a查看,原因core的文件大小为0,这是什么原因导致的core呢? 现在原因不明,于是检查bdump目录下的日志。 $cd $ORACLE_HOME/admin/SID/bdump $cat alert_SID.log 发现日志量很大,满屏的都是同一个错误,扩展表空间失败: ORA-1654: unable to extend index SID.INDEX by 128 in tablespace TABLESPACE ORA-1653: unable to extend table SID.TABLE by 1024 in tablespace TABLESPACE 看来表空间已经满了并且无法扩展导致oracle出现core的。 $cd $ORACLE_BASE/oradada/SID $ls –lh -rw-r----- 1 oracle oinstall 2.1G Oct 14 15:10 SID_DATA01.DBF -rw-r----- 1 oracle oinstall 201M Oct 14 12:28 SID_INDEX01.DBF 原来是空间已经达到2G,但应该触发扩展才对。 安装数据库时并没有限制SID_DATA01.DB |
ORA-03113: end-of-file on communication channel 错误定位过程(转)
最新推荐文章于 2024-04-27 02:30:12 发布