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;