Oracle數(shù)據(jù)庫基于用戶管理的備份與恢復之恢復重做日志
Oracle數(shù)據(jù)庫中基于用戶管理的備份與恢復之重做日志的恢復過程,接下來我們就一一介紹。
因為日志組的某個日志成員損壞,如下:
- SQL> select group#,status,member from v$logfile;
- GROUP# STATUS MEMBER
- ---------- ------- ----------------------------------------------------------------------
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
- 1 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
- 1 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG
已選擇6行。
--使用360強力刪除REDO01_ADD.LOG文件,以模擬日志成員損壞。
--多次切換日志,以使剛刪除的redo文件處于invalid狀態(tài)。
SQL> alter system switch logfile;
系統(tǒng)已更改。
SQL> alter system switch logfile;
系統(tǒng)已更改。
- ......
- SQL> select group#,status from v$log;
- GROUP# STATUS
- ---------- ----------------
- 1 CURRENT
- 2 ACTIVE
- 3 ACTIVE
- SQL> select group#,status,member from v$logfile;
- GROUP# STATUS MEMBER
- ---------- ------- ----------------------------------------------------------------------
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
- 1 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
- 1 INVALID F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG
已選擇6行。
--如果為為當前日志組成員,則不能被刪除,這時需要切換日志,才能夠刪除成員。
- SQL> alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG';
- alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG'
- *
第1 行出現(xiàn)錯誤:
ORA-01609: 日志 1 是線程 1 的當前日志 - 無法刪除成員
ORA-00312: 聯(lián)機日志 1 線程 1: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
ORA-00312: 聯(lián)機日志 1 線程 1: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG'
SQL> alter system switch logfile;
系統(tǒng)已更改。
- SQL> select group#,status from v$log;
- GROUP# STATUS
- ---------- ----------------
- 1 ACTIVE
- 2 CURRENT
- 3 ACTIVE
- SQL> alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG';
數(shù)據(jù)庫已更改。
--添加日志組成員
SQL> alter database add logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD_NEW.LOG' to group 1;
數(shù)據(jù)庫已更改。
- SQL> select group#,status,member from v$logfile;
- GROUP# STATUS MEMBER
- ---------- ------- ----------------------------------------------------------------------
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
- 1 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
- 1 INVALID F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD_NEW.LOG
- 2 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG
- 3 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG
已選擇6行。
注意,新增加的日志組成員狀態(tài)也為invalid。
關(guān)于Oracle數(shù)據(jù)庫基于用戶管理的備份與恢復之重做日志的恢復就介紹到這里了,希望本次的介紹能夠給您帶來一些收獲!
【編輯推薦】






