Oracle恢復例項之二:Inactive聯機日誌檔案丟失
聯機日誌檔案Inacitve狀態表示這個日誌包含的資料修改已經同步到資料檔案中,例項恢復時已不需要它,所以它的丟失不會造成任何的資料丟失,但是會造成資料庫無法開啟,解決方法是把丟失的inactive刪除掉,重新新增新的聯機日誌。
1)模擬災難
首先檢視log的狀態:
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
2 2 INACTIVE
3 3 CURRENT
Group#1的狀態為inactive,我們找出它所對應的磁碟檔案:
SQL> select group#,member from v$logfile where group#=1;
GROUP# MEMBER
---------- --------------------------------------------------
1 I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0
關閉資料庫:
SQL> shutdown immediate;
把REDO01.O04DMS0檔案在作業系統級別刪除。
2)根據錯誤資訊定位問題
啟動資料庫會出現以下錯誤:
SQL> startup
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1296292 bytes
Variable Size 251660380 bytes
Database Buffers 25165824 bytes
Redo Buffers 2895872 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0'
從以上錯誤資訊中,可以看到聯機日誌檔案丟失導致無法開啟資料庫,查一下丟失日誌的狀態:
SQL> select group#,sequence#,status from v$log where group#=1;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
幸運地是,丟失的聯機日誌狀態為inactive,那麼我們不需要做什麼,只要刪除它即可,但是最好在刪除它之前先增加一組聯機日誌:
SQL> alter database add logfile group 4 ('I:\INTEL_DATA\O04DMS0\REDO04.O04DMS0') size 100M;
Database altered.
然後把丟失的聯機日誌刪除:
SQL> alter database drop logfile group 1;
Database altered.
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
2 2 INACTIVE
4 0 UNUSED
3 3 CURRENT
這樣就可以開啟資料庫了:
SQL> alter database open;
Database altered.
新增加的Group#4的狀態時unused,做幾次日誌切換使其處於current狀態。
===========================
還有一種解決方法更簡單,不用刪除、增加,直接清除Group1即可,語句如下:
SQL> alter database clear logfile group 1;
1)模擬災難
首先檢視log的狀態:
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
2 2 INACTIVE
3 3 CURRENT
Group#1的狀態為inactive,我們找出它所對應的磁碟檔案:
SQL> select group#,member from v$logfile where group#=1;
GROUP# MEMBER
---------- --------------------------------------------------
1 I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0
關閉資料庫:
SQL> shutdown immediate;
把REDO01.O04DMS0檔案在作業系統級別刪除。
2)根據錯誤資訊定位問題
啟動資料庫會出現以下錯誤:
SQL> startup
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1296292 bytes
Variable Size 251660380 bytes
Database Buffers 25165824 bytes
Redo Buffers 2895872 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0'
從以上錯誤資訊中,可以看到聯機日誌檔案丟失導致無法開啟資料庫,查一下丟失日誌的狀態:
SQL> select group#,sequence#,status from v$log where group#=1;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
幸運地是,丟失的聯機日誌狀態為inactive,那麼我們不需要做什麼,只要刪除它即可,但是最好在刪除它之前先增加一組聯機日誌:
SQL> alter database add logfile group 4 ('I:\INTEL_DATA\O04DMS0\REDO04.O04DMS0') size 100M;
Database altered.
然後把丟失的聯機日誌刪除:
SQL> alter database drop logfile group 1;
Database altered.
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
2 2 INACTIVE
4 0 UNUSED
3 3 CURRENT
這樣就可以開啟資料庫了:
SQL> alter database open;
Database altered.
新增加的Group#4的狀態時unused,做幾次日誌切換使其處於current狀態。
===========================
還有一種解決方法更簡單,不用刪除、增加,直接清除Group1即可,語句如下:
SQL> alter database clear logfile group 1;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-711641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle恢復例項之三:active或current聯機日誌檔案丟失Oracle
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- oracle丟失inactive日誌檔案的恢復操作過程Oracle
- 丟失聯機重做日誌檔案的恢復
- oracle丟失日誌檔案的恢復( 轉)Oracle
- 聯機重做日誌丟失的恢復
- 【恢復】Redo日誌檔案丟失的恢復
- rman恢復--丟失聯機重做日誌的恢復
- Oracle聯機日誌檔案丟失解決方法一例Oracle
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)
- 非歸檔丟失日誌檔案的恢復
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- Oracle重做日誌檔案損壞或丟失後的恢復Oracle
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- 聯機日誌檔案丟失解決方法
- 在歸檔模式下丟失日誌檔案的恢復模式
- 解決Oracle資料庫日誌檔案丟失恢復問題Oracle資料庫
- oracle丟失active或current日誌檔案的恢復操作過程Oracle
- 【備份恢復】恢復inactive狀態的日誌檔案
- 聯機重做日誌檔案的恢復
- 聯機日誌檔案丟失解決方法(二)
- 聯機日誌檔案丟失解決方法(一)
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 丟失已歸檔日誌檔案下恢復資料庫資料庫
- oracle歸檔日誌丟失後的資料庫恢復Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(1)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(3)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(2)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(4)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(5)Oracle資料庫
- Oracle聯機日誌檔案丟失或損壞的處理方法Oracle
- Oracle Password檔案丟失的恢復Oracle
- 丟失所有重做日誌檔案的恢復例子丟失所有重做日誌檔案的恢復例子如下:
- Oracle資料庫聯機日誌檔案丟失處理方法(總結)!Oracle資料庫
- ORACLE聯機日誌檔案丟失或損壞的處理方法(轉)Oracle
- 記一次Oracle 聯機日誌檔案丟失的處理方案Oracle
- Oracle聯機日誌檔案丟失或損壞的處理方法 (轉)Oracle
- 沒備份,歸檔日誌存在,丟失資料檔案的恢復