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
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
- 数据库装载完毕。
- 数据库已经打开。