下面的例子中在线日志组1文件在数据库关闭后,被误删除。起动数据库时发现没有此日志文件组。恢复步骤见下例:
| select group#,status,members,archived from v$log;
GROUP# STATUS MEMBERS ARC
---------- ---------------- ---------- ---
1 ACTIVE 2 YES
2 CURRENT 1 NO
3 INACTIVE 2 YES
SYS on orcdb > shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SYS on orcdb > startup open
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250452 bytes
Variable Size 322964332 bytes
Database Buffers 285212672 bytes
Redo Buffers 2940928 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG'
ORA-00312: 联机日志 1 线程 1:
'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG'
SYS on orcdb > alter database clear logfile group 1;
数据库已更改。
SYS on orcdb > alter database open;
数据库已更改。
SYS on orcdb > select group#,members,status,archived from v$log;
GROUP# MEMBERS STATUS ARC
---------- ---------- ---------------- ---
1 2 CURRENT NO
2 1 INACTIVE YES
3 2 INACTIVE YES
">SYS on orcdb > select group#,status,members,archived from v$log; GROUP# STATUS MEMBERS ARC ---------- ---------------- ---------- --- 1 ACTIVE 2 YES 2 CURRENT 1 NO 3 INACTIVE 2 YES SYS on orcdb > shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SYS on orcdb > startup open ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250452 bytes Variable Size 322964332 bytes Database Buffers 285212672 bytes Redo Buffers 2940928 bytes 数据库装载完毕。 ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员 ORA-00312: 联机日志 1 线程 1: 'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG' ORA-00312: 联机日志 1 线程 1: 'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG' SYS on orcdb > alter database clear logfile group 1; 数据库已更改。 SYS on orcdb > alter database open; 数据库已更改。 SYS on orcdb > select group#,members,status,archived from v$log; GROUP# MEMBERS STATUS ARC ---------- ---------- ---------------- --- 1 2 CURRENT NO 2 1 INACTIVE YES 3 2 INACTIVE YES | ||||||
从上面的恢复过程可以看出状态为INACITIVE和ACTIVE的日志文件失效后的恢复方法都一样。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/526592/viewspace-236731/ ,如需转载,请注明出处,否则将追究法律责任。