ORA-00313 ORA-00312 ORA-27037 redo被删除后重建
alert日志中报错
Thu May 22 15:15:17 2025
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_m000_21364.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/data/ORCL/onlinelog/o1_mf_1_g55pvn1p_.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_m000_21364.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/data/ORCL/onlinelog/o1_mf_2_g55pw70q_.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_m000_21364.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
操作过程:
SYS@orcl> select group#,thread#,archived,status, bytes/1024/1024 MB from v$log;
GROUP# THREAD# ARC STATUS MB
---------- ---------- --- ---------------- ----------
1 1 YES INACTIVE 200
2 1 YES INACTIVE 200
3 1 NO CURRENT 200
SYS@orcl> select group#,type, member from v$logfile order by GROUP#;
GROUP# TYPE MEMBER
---------- ------- ------------------------------------------------------------
1 ONLINE /data/ORCL/onlinelog/o1_mf_1_g55pvn1p_.log
1 ONLINE /fra/ORCL/onlinelog/o1_mf_1_g55pvncj_.log
2 ONLINE /data/ORCL/onlinelog/o1_mf_2_g55pw70q_.log
2 ONLINE /fra/ORCL/onlinelog/o1_mf_2_g55pw7fy_.log
3 ONLINE /data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log
3 ONLINE /fra/ORCL/onlinelog/o1_mf_3_g55pws48_.log
6 rows selected.
SYS@orcl> ALTER DATABASE DROP LOGFILE MEMBER '/data/ORCL/onlinelog/o1_mf_1_g55pvn1p_.log';
Database altered.
SYS@orcl> ALTER DATABASE DROP LOGFILE MEMBER '/data/ORCL/onlinelog/o1_mf_2_g55pw70q_.log';
Database altered.
SYS@orcl> ALTER DATABASE DROP LOGFILE MEMBER '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log';
ALTER DATABASE DROP LOGFILE MEMBER '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log'
*
ERROR at line 1:
ORA-01609: log 3 is the current log for thread 1 - cannot drop members
ORA-00312: online log 3 thread 1: '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log'
ORA-00312: online log 3 thread 1: '/fra/ORCL/onlinelog/o1_mf_3_g55pws48_.log'
SYS@orcl> alter system switch logfile;
System altered.
SYS@orcl> alter system switch logfile;
System altered.
SYS@orcl> alter system switch logfile;
System altered.
SYS@orcl> ALTER DATABASE DROP LOGFILE MEMBER '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log';
Database altered.
SYS@orcl> alter database add logfile member '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log' to group 3;
alter database add logfile member '/data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log' to group 3
*
ERROR at line 1:
ORA-01276: Cannot add file /data/ORCL/onlinelog/o1_mf_3_g55pwrp7_.log. File has an Oracle Managed Files file name.
SYS@orcl> alter database add logfile member '/data/ORCL/onlinelog/redo03_2.log' to group 3;
Database altered.
SYS@orcl> alter database add logfile member '/data/ORCL/onlinelog/redo02_2.log' to group 2;
Database altered.
SYS@orcl> alter database add logfile member '/data/ORCL/onlinelog/redo01_2.log' to group 1;
Database altered.
SYS@orcl> select group#,type, member from v$logfile order by GROUP#;
GROUP# TYPE MEMBER
---------- ------- --------------------------------------------------------------------------------
1 ONLINE /data/ORCL/onlinelog/redo01_2.log
1 ONLINE /fra/ORCL/onlinelog/o1_mf_1_g55pvncj_.log
2 ONLINE /data/ORCL/onlinelog/redo02_2.log
2 ONLINE /fra/ORCL/onlinelog/o1_mf_2_g55pw7fy_.log
3 ONLINE /data/ORCL/onlinelog/redo03_2.log
3 ONLINE /fra/ORCL/onlinelog/o1_mf_3_g55pws48_.log
6 rows selected.
SYS@orcl> select group#,thread#,archived,status, bytes/1024/1024 MB from v$log;
GROUP# THREAD# ARC STATUS MB
---------- ---------- --- ---------------- ----------
1 1 NO CURRENT 200
2 1 YES INACTIVE 200
3 1 YES INACTIVE 200