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使用備份檔案集恢復歸檔日誌Oracle
- Oracle Redo丟失恢復方案Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- 電腦檔案丟失資料恢復資料恢復
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- oracle dg 歸檔日誌恢復情況Oracle
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 丟失的隨身碟檔案如何恢復?
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- Oracle 目錄許可權丟失故障恢復Oracle
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- oracle丟失的是所有的redo日誌組Oracle
- 【BBED】丟失歸檔檔案情況下的恢復
- win10 ppt檔案丟失怎麼恢復_win10 ppt文件丟失如何找回Win10
- 【ASK_ORACLE】Oracle表決磁碟丟失後的恢復方法Oracle
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- DG歸檔日誌缺失恢復
- macOS Big Sur系統如何恢復丟失的資料檔案?Mac
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- 存放在電腦中的檔案丟失了怎麼恢復
- 伺服器資料丟失了怎麼恢復/分割槽丟失恢復教程伺服器
- dg丟失歸檔,使用rman增量備份恢復
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- 【資料庫資料恢復】mdb_catalog.wt檔案丟失的MongoDB資料恢復案例資料庫資料恢復MongoDB
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- ORACLE事務和例項恢復過程梳理Oracle
- 【伺服器資料恢復】虛擬機器檔案丟失導致Hyper-V癱瘓的資料恢復伺服器資料恢復虛擬機
- 2.7.10 恢復丟失或損壞的伺服器引數檔案(SPFILE)伺服器
- 檔案丟失不用怕:超實用的Mac資料恢復軟體!Mac資料恢復
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 硬碟資料丟失如何恢復?硬碟
- 分割槽丟失資料恢復資料恢復
- Oracle歸檔檔案丟失導致OGG不用啟動Oracle
- 【Vsan資料恢復】非正常關機導致vsan儲存架構中虛擬機器磁碟檔案丟失的資料恢復資料恢復架構虛擬機
- MongoDB資料庫報錯,資料庫檔案丟失資料恢復案例MongoDB資料庫資料恢復