您的位置:首页 > 数据库 > Oracle

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

2017-05-15 10:07 796 查看


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

启动数据库
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
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12

查看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
......
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

解决方法如下:
SQL> conn / as sysdba
Connected to an idle instance.
1
2
1
2
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.
1
2
3
4
5
6
7
8
91
2
3
4
5
6
7
8
9

清理损坏的日志
SQL> alter database clear logfile group 2;

Database altered.
1
2
3
1
2
3

删除损坏的日志
SQL> alter database drop logfile group 2;

Database altered.
1
2
3
1
2
3

现在可以正常打开数据库
SQL> alter database open;

Database altered.
1
2
3
1
2
3

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

Database altered.
1
2
3
1
2
3

总结: 

对于非current redo log损坏,如果是处于inactive状态的redo,那么处理起来很简单,直接clear然后drop掉,不会有数据的丢失。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: