假设一个redo group已经丢失,启动数据库时,会出现如下的信息:
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1553305600 bytes
Fixed Size 2176048 bytes
Variable Size 1023413200 bytes
Database Buffers 520093696 bytes
Redo Buffers 7622656 bytes
数据库装载完毕。
ORA-03113: 通信通道的文件结尾
进程 ID: 4352
会话 ID: 5 序列号: 3
可以通过如下动作恢复:
C:\Users\chenyj>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期日 9月 8 22:38:07 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 1553305600 bytes
Fixed Size 2176048 bytes
Variable Size 1023413200 bytes
Database Buffers 520093696 bytes
Redo Buffers 7622656 bytes
数据库装载完毕。
SQL> select group#, status, archived from v$log;
GROUP# STATUS ARCHIV
---------- -------------------------------- ------
1 CURRENT NO
3 INACTIVE YES
2 INACTIVE YES
SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
第 1 行出现错误:
ORA-00350: 日志 1 (实例 orcl 的日志, 线程 1) 需要归档
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'
SQL> alter database clear unarchived logfile group 1;
数据库已更改。
SQL> alter database open;
数据库已更改。
请注意其中的
unarchived关键字.
If you clear your missing log file group, then this will re-create the missing log files;
alter database clear logfile group 1
*
第 1 行出现错误:
ORA-00350: 日志 1 (实例 orcl 的日志, 线程 1) 需要归档
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'
这个是因为Redo logfile已经被删除, 因而不能被归档。因为log file没有被归档,因而LGWR也不能覆盖它,即使它已经不再存在。
因而我们需要使用unarchived关键字。这样丢失的redo log就被重建了,然后我们就可以重新启动数据库了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8520577/viewspace-772365/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8520577/viewspace-772365/