admin

Oracle 报错:ORA-00313、ORA-00312、ORA-27047 解决方法

admin 数据库 2020-11-27 3108浏览 0

SQL> startup

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size            2252824 bytes

Variable Size          805310440 bytes

Database Buffers      436207616 bytes

Redo Buffers            8892416 bytes

Database mounted.

ORA-03113: end-of-file on communication channel

Process ID: 40669

Session ID: 125 Serial number: 5


查看alert日志


[oracle@vastdata1 ~]$ vi /u01/app/oracle/diag/rdbms/prod/PROD/trace/alert_PROD.log

...... 

Errors in file /u01/app/oracle/diag/rdbms/prod/PROD/trace/PROD_lgwr_40796.trc:

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/PROD/redo02.log'

ORA-27047: unable to read the header block of file

Linux-x86_64 Error: 25: Inappropriate ioctl for device

......


解决方法如下:


SQL> conn / as sysdba

Connected to an idle instance.


SQL> startup mount

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size            2252824 bytes

Variable Size          805310440 bytes

Database Buffers      436207616 bytes

Redo Buffers            8892416 bytes

Database mounted.


清理损坏的日志


SQL> alter database clear logfile group 2;

 

Database altered.



删除损坏的日志


SQL> alter database drop logfile group 2;

 

Database altered.


现在可以正常打开数据库


SQL> alter database open;

 

Database altered.


添加日志


SQL> alter database add logfile group 2 ('/u01/app/oracle/oradata/PROD/redo02.log') size 50M;

 

Database altered.



其他

有归档也可以先恢复下

recover database until cancel;

alter database open resetlogs;


版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。