聯機日誌檔案丟失解決方法(一)
簡單總結一下日誌檔案丟失的幾種恢復方法。大體可以分為2大類:
非歸檔模式下的日誌檔案丟失和歸檔模式下的日誌丟失。當然細分還可 以分為:非當前聯機日誌檔案的丟
對於非歸檔模式的非當前聯機日誌檔案的丟失恢復起來比較簡單,只需要重新建立日誌檔案即可。
SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
非歸檔模式下的日誌檔案丟失和歸檔模式下的日誌丟失。當然細分還可 以分為:非當前聯機日誌檔案的丟
失和當前聯機日誌檔案的丟失。
如果日誌檔案做了映象的話,即使日誌檔案組裡的一個成員壞了,也不會影響資料庫的使用。這個
如果日誌檔案做了映象的話,即使日誌檔案組裡的一個成員壞了,也不會影響資料庫的使用。這個
時候只需要刪除損壞的日誌成員,重新新增一個日誌成員即可。這裡主要介紹一日誌檔案組裡的成員都丟
失的情況。
首先介紹一下非歸檔模式下非當前日誌檔案的丟失的恢復。
對於非歸檔模式的非當前聯機日誌檔案的丟失恢復起來比較簡單,只需要重新建立日誌檔案即可。
SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
NAME OPEN_MODE LOG_MODE
--------- ---------- ------------
TOMSYAN READ WRITE NOARCHIVELOG
--------- ---------- ------------
TOMSYAN READ WRITE NOARCHIVELOG
資料庫處於非歸檔模式。
SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 106 CURRENT
2 104 INACTIVE
3 105 INACTIVE
當前的日誌序組是GROUP 1
---------- ---------- ----------------
1 106 CURRENT
2 104 INACTIVE
3 105 INACTIVE
當前的日誌序組是GROUP 1
下面刪除GROUP 3的日誌組裡的所有日誌成員,模擬日誌檔案的丟失。
SQL> SELECT MEMBER FROM V$LOGFILE WHERE GROUP#=3;
MEMBER
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
SQL> SHUTDOWN IMMEDIATE;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> HOST DEL C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> HOST DEL C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
SQL> STARTUP
ORACLE 例程已經啟動。
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 234883972 bytes
Database Buffers 369098752 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
ORA-00313: 無法開啟日誌組 3 (用於執行緒 1) 的成員
ORA-00312: 聯機日誌 3 執行緒 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG'
Fixed Size 1250428 bytes
Variable Size 234883972 bytes
Database Buffers 369098752 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
ORA-00313: 無法開啟日誌組 3 (用於執行緒 1) 的成員
ORA-00312: 聯機日誌 3 執行緒 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG'
SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 106 CURRENT
3 105 INACTIVE
2 104 INACTIVE
---------- ---------- ----------------
1 106 CURRENT
3 105 INACTIVE
2 104 INACTIVE
由於損壞的日誌組不是當前日誌組,這個時候只需要重新建日誌檔案即可,也不會對資料庫造成任何影響。
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
資料庫已更改。
SQL> ALTER DATABASE OPEN;
資料庫已更改。
come from :http://blog.chinaunix.net/u3/107027/showart_2138803.html
come from :http://blog.chinaunix.net/u3/107027/showart_2138803.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-628289/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- win10 計算機丟失logmanager怎麼辦 win10丟失log.dll檔案的解決方法Win10計算機
- nuget打包檔案丟失如何使用powershell指令碼解決指令碼
- thinkphp5丟失日誌問題,該如何解決?PHP
- 計算機提示丟失BSE.ocx檔案如何解決?計算機
- vcruntime140.dll丟失的解決方法
- Laravel日誌檔案寫入失敗(permission denied)Laravel
- windows10系統由於丟失ntldr檔案無法開機怎麼解決Windows
- 救援丟失的Docx和Xlsx檔案的最佳方法
- 世界備份日——如果您丟失了所有檔案
- mysql的日誌檔案詳解MySql
- 限制 Apache日誌檔案大小的方法Apache
- win10桌面檔案丟失怎麼辦_win10開機桌面檔案丟失如何找回Win10
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- oracle丟失的是所有的redo日誌組Oracle
- Win7系統電腦提示“libeay32.dll檔案丟失”的兩種解決方法Win7
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 直接分離刪除日誌檔案後附加報錯的簡單解決方法
- Linux下日誌檔案過大解決方案Linux
- 將企業檔案共享解決方案與資料丟失防護配對
- 伺服器不能啟動,修復後部分檔案丟失怎麼解決伺服器
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- RMAN-ERROR:因為找不到過期和丟失的歸檔日誌而備份失敗Error
- 升級Win10專業版系統後丟失檔案怎麼解決Win10
- 面對oracle ocfs2檔案丟失,你能想到解決辦法有哪些?Oracle
- OpenSIPS 2.4.2 高併發下,日誌丟失怎麼辦
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- webpack 4.0 學習日誌(一)——配置方法以及錯誤解決Web
- Win10系統下所有字型丟失的解決方法Win10
- 在Linux中,有一堆日誌檔案,如何刪除7天前的日誌檔案?Linux
- 電腦檔案丟失資料恢復資料恢復
- MySQL提升筆記(3)日誌檔案詳解MySql筆記
- java專案日誌配置檔案Java
- Nginx session丟失問題處理解決方法NginxSession
- JavaScript精度丟失原因以及解決方案JavaScript
- Feign 呼叫丟失Header的解決方案Header
- RocketMq訊息丟失問題解決MQ
- win10丟失msvbvm50.dll怎麼辦_win10提示計算機中丟失msvbvm50.dll的解決方法Win10計算機
- Oracle歸檔檔案丟失導致OGG不用啟動Oracle