ARCHIVELOG模式下用户管理恢复联机重做日志文件(2)——当前活动组所有成员全部损坏!

1、在关闭状态下 当前活动组所有成员全部损坏,需要不完全恢复然后resetlogs打开数据库。恢复完成后会自动创建一个丢失了的online redo logfile。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              62917928 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
数据库装载完毕。
数据库已经打开。

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         13   52428800          1 YES INACTIVE                474583 10-10月-11
         2          1         14   52428800          1 NO  CURRENT                 474585 10-10月-11
         3          1         12   52428800          1 YES INACTIVE                474581 10-10月-11

SQL> select member from v$logfile;

MEMBER
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> ! rm -rf /u01/app/oracle/oradata/orcl/redo02.log

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              62917928 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 2 (用于线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: '/u01/app/oracle/oradata/orcl/redo02.log'


SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> select * from v$recover_file;

未选定行

SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> conn u1/u1
已连接。
SQL> select * from t;

        ID VALUE
---------- ----------
         1 a

 

2、在open状态下 当前活动组所有成员全部损坏,那就重新创建一个,会丢失online redo logfile里面的一些数据。

SQL> conn /as sysdba
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              62917928 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         13   52428800          1 YES INACTIVE                474583 10-10月-11
         2          1         14   52428800          1 NO  CURRENT                 474585 10-10月-11
         3          1         12   52428800          1 YES INACTIVE                474581 10-10月-11

SQL> select member from v$logfile;

MEMBER
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log

SQL> ! rm -rf /u01/app/oracle/oradata/orcl/redo02.log

SQL> alter system archive log current;
alter system archive log current
*
第 1 行出现错误:
ORA-16038: 日志 2 sequence# 14 无法归档
ORA-00312: 联机日志 2 线程 1: '/u01/app/oracle/oradata/orcl/redo02.log'

SQL> alter database clear unarchived logfile group 2;

数据库已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              62917928 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
数据库装载完毕。
数据库已经打开。

你可能感兴趣的:(ARCHIVELOG模式下用户管理恢复联机重做日志文件(2)——当前活动组所有成员全部损坏!)