ARCHIVELOG模式下使用者管理恢復聯機重做日誌檔案—當前活動組所有成員全部損壞
阿新 • • 發佈:2018-11-10
1、在關閉狀態下 當前活動組所有成員全部損壞,需要不完全恢復然後resetlogs開啟資料庫。恢復完成後會自動建立一個丟失了的online redo logfile。
[sql] view plain copy print ?- SQL> startup
- ORACLE 例程已經啟動。
- Total System Global Area 167772160 bytes
- Fixed Size 1266392 bytes
- Variable Size 62917928 bytes
- Database
- 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] view plain copy print ?- 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
- 資料庫裝載完畢。
- 資料庫已經開啟。