MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

ORACLE ORA-03113 故障解决方法

2024-11-26 18:06 huorong 数据库 6 ℃ 0 评论

【故障现象】:

1.Oracle数据库启动,执行startup命令后,显示数据库装载完毕。

2.出现ORA-03113错误。

ORA-03113: 通信通道的文件结尾

进程 ID: 24348

SQL> startup;

ORACLE 例程已经启动。

Total System Global Area 1954234368 bytes

Fixed Size 2214576 bytes

Variable Size 536872272 bytes

Database Buffers 1409286144 bytes

Redo Buffers 5861376 bytes

数据库装载完毕。

ORA-03113: 通信通道的文件结尾

进程 ID: 24348

会话 ID: 129 序列号: 3

【故障分析】:

$ cd /u01/app/diag/rdbms/haitian/HAITIAN/trace

$ more HAITIAN_ora_24348.trc

出现:ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4070572032 字节) 已使用 100.00%, 尚有 0 字节可用。

ORA-19809: 超出了恢复文件数的限制

ORA-19804: 无法回收 47391744 字节磁盘空间 (从 4070572032 限制中)

说明db_recovery_file_dest_size也叫归档日志空间不足。

【故障解决】:

步骤1:

1.设置归档日志空间

$ sqlplus / as sysdba

SQL> shutdown abort

SQL> startup mount

SQL> select * from v$recovery_file_dest;查看归档日志大小

SQL> show parameter db_recovery_file_dest_size 查询归档日志

SQL> alter system set db_recovery_file_dest_size=10G; 扩大闪回区空间大小,由4G扩大到10G。

SQL> alter database open;

步骤2:

2.删除归档日志

$ sqlplus / as sysdba

SQL> startup mount

$ rman target / 进入rman工具窗口

RMAN> crosscheck archivelog all; 把无效的expired的archivelog标出来。

RMAN> delete noprompt archivelog until time "sysdate -3"; 删除3天前的归档日志。

或者

RMAN> delete expired archivelog all;

SQL> alter database open;

【故障总结】

1.可以使用$ oerr ora 03113 命令初步排查Oracle故障。

2.可以根据trace日志分析Oracle 故障。

3.可以通过删除超期日志的方式回收空间。

Tags:oracle错误

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言