暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

Oracle ORA-03113: 通信通道的文件结尾 故障处理

生有可恋 2021-11-01
21525

Windows下的一套Oracle 11g数据库,操作系统重启后数据库无法访问。


登陆数据库后,首先检查监听状态,并尝试启动监听。

lsnrclt status
lsnrctl start

使用 sqlplus 登陆数据库,提示连接到空闲例程,发现数据库没有启动,于是启动数据库:



启动时报ORA-03113错误


SQL> startup
ORACLE 例程已经启动。


Total System Global Area 1.3696E+10 bytes
Fixed Size 2294256 bytes
Variable Size 7985958416 bytes
Database Buffers 5670699008 bytes
Redo Buffers 36937728 bytes
数据库装载完毕。
ORA-03113: 通信通道的文件结尾
进程 ID: 3816
会话 ID: 2826 序列号: 3


重新登陆数据库,分步启动,查询alert日志所在位置

sqlplus / as sysdba
SQL> startup nomount;
SQL> select value from v$diag_info


从 v$diag_info 获取 alert 日志位置为E:\app\Administrator\diag\rdbms\neubi\neubi\trace\alert_neubi.log


查看 alert 日志,日志中报空间不足



检查Windows 磁盘空间发现数据盘已满。



确定问题后,开始清理空间。初步分析,发现FRA空间占用比较高,里面都是归档日志。



准备通过 rman 清理归档日志



rman 无法在 nomount 状态下清理日志,将数据库置为mount状态。

SQL> alter database mount;



重新连接 rman



RMAN> crosscheck archivelog all;
RMAN> delete archivelog all completed before 'sysdate-3';

清理过后发现空间并没有太大变化,数据盘仍然是接近满的状态。



使用windows下的磁盘空间分析工具 SpaceSniffer 进行分析,发现最近三天归档数据量异常



重新执行rman进行归档清理

RMAN> delete archivelog until time 'sysdate-2';


清理后,空间腾出了100G



SpaceSniffer 显示数据文件占了大部分空间,后期要考虑磁盘扩容。



此时考虑将数据库打开

SQL> alert database open;



最后检查监听状态,监听已恢复



文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论