Oracle其它情況的恢復
資料庫特殊情況的恢復
1. 聯機Redo日誌損壞與恢復
對於正常關閉的資料庫來說,關閉前會執行一個檢查點以保證資料庫的一致性,重啟之後,聯機日誌是是否存在都不會導致資料的丟失。然而,如果是非正常關閉的資料庫,重啟之後會執行例項恢復的過程,如果例項恢復過程需要的UNDO活Redo日誌丟失,那麼就可能造成資料的不一致和資料的丟失。
a. 連線Redo日誌損壞的4種情況
聯機Redo日誌檔案的損壞有以下4中情況:
情況1 非當前日誌損壞,正常關閉資料庫。
情況2 非當前日誌損壞,非正常關閉資料庫。
情況3 當前日誌損壞,正常關閉資料庫。
情況4 當前日誌損壞,非正常關閉資料庫。
b. 處理方法
1) 情況1和情況2的處理方法
情況1和情況2的處理方法一樣,直接把日誌檔案清除即可:
SQL> alter database clear logfile group 3;
2) 情況3的處理方法
在SQLPLUS中執行以下的SQL語句以RESETLOGS模式重新開啟資料庫:
SQL> startup mount;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
3) 情況4的處理方法
這種情況會導致聯機Redo日誌中的一部分已提交的資料丟失,例項恢復中的前滾操作不能成功執行,回滾操作也無法執行,這也會導致部分資料的丟失。處理方法是強制開啟資料庫或通過備份執行介質不完全恢復。
2. 資料檔案離線與恢復
資料庫的離線包括資料檔案的離線和表空間的離線,資料檔案的離線和表空間非正常離線在下一次執行聯機命令之前都無需先執行介質恢復操作,介質恢復成功才能聯機成功。
資料檔案新增到表空間之後不能再被刪除,也沒有語法支援這麼做,如果不想使用該資料檔案,唯一的方法是將資料檔案設定為OFFLINE狀態。執行以下步驟將資料檔案設定為OFFLINE狀態:
1) 如果是歸檔模式可以執行如下SQL語句設定資料檔案的狀態為OFFLINE:
SQL> alter database datafile ‘xxx.dbf’ offline;
2) 如果是非歸檔模式執行以下SQL語句將資料檔案狀態設定為OFFLINE:
SQL> alter database datafile ‘xxx.dbf’ offile drop;
即使資料檔案離線,資料檔案相關的資料字典資訊、後設資料資訊依然存在,當表空間被刪除後,相關資料檔案的資訊才會被清除。Drop tablespace只是清空Oracle資料字典資訊,即使資料檔案不存在也可以正常的drop表空間。對於資料檔案的離線,在設定該資料檔案OFFLINE的時候都需要對該資料檔案執行介質恢復。
如果在非歸檔模式下使用OFFLINE drop使資料檔案離線,這就意味著該資料檔案可能無法再恢復到online狀態,原因在於非歸檔模式下可能沒有足夠的日誌檔案在執行online的時候完成介質恢復。如果資料檔案離線之後日誌沒有發生切換,所有需要的日誌還依然存在的話,那麼非歸檔模式下資料檔案的離線也可以再次變成online狀態。
3. 表空間離線與恢復
表空間離線實際就是表空間對應的所有資料檔案離線。
表空間離線分為正常離線、臨時離線和立即離線,如下:
1) 正常離線
這是預設的選項,如果表空間正常離線,當重新執行online的時候,Oracle會用相應的SCN來更新表空間資料檔案頭SCN即可正常地online表空間,而不需要執行介質恢復。執行以下SQL語句是表空間正常離線:
SQL> alter tablespace xxx offline;
2) 臨時離線
當執行臨時離線(OFFLINE temporary)語句之前已經有表空間對應的資料檔案離線,那麼在是表空間重新online之前需要執行特定資料檔案的介質恢復。執行以下的SQL語句是表空間臨時離線:
SQL> alter tablespace xxx offline temporary;
3) 立即離線
執行這個操作(OFFLINE immediate)表示立即使表空間離線,在下次使表空間online的時候必須執行介質恢復,介質恢復成功之後表空間才能變成online狀態。執行以下的SQL語句是表空間立即離線:
SQL> alter tablespace xxx offline immediate;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29339097/viewspace-1062944/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle dg 歸檔日誌恢復情況Oracle
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- DBMS_BACKUP_RESTORE用於特殊情況下的恢復(轉)REST
- NBU恢復oracleOracle
- DBMS_BACKUP_RESTORE.DBMS_BACKUP_RESTORE用於特殊情況下的恢復REST
- oracle order by索引是否使用的情況Oracle索引
- Oracle案例12——NBU Oracle恢復Oracle
- oracle冷備恢復Oracle
- oracle 異機恢復Oracle
- Oracle RMAN恢復測試Oracle
- Oracle 不完全恢復Oracle
- Oracle 12.2中的索引統計被呼叫情況Oracle索引
- Oracle RushQL勒索病毒恢復方法Oracle
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- Oracle恢復誤刪資料Oracle
- ORACLE備份&恢復案例(轉)Oracle
- oracle基於SCN增量恢復Oracle
- Oracle Redo丟失恢復方案Oracle
- Oracle RMAN 表空間恢復Oracle
- 分析針對EFS加密檔案無法開啟的情況資料恢復的解決方式加密資料恢復
- 【ASK_ORACLE】Oracle如何恢復舊的統計資訊Oracle
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- 【RECO_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(四)PDB的幾種恢復方式Oracle
- Oracle OCP(26):其它ObjectOracleObject
- 【BBED】丟失歸檔檔案情況下的恢復
- 備份與恢復oracle_homeOracle
- oracle 增量備份恢復驗證Oracle
- Oracle 備份和恢復介紹Oracle
- oracle使用小記、刪除恢復Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- Oracle資料庫恢復之resetlogsOracle資料庫
- ORACLE備份&恢復案例二(轉)Oracle
- Networker恢復oracle rac到單機Oracle
- 【Oracle 恢復表空間】 實驗Oracle
- 兩篇oracle異機恢復文章Oracle
- ORACLE本地磁碟備份恢復Oracle
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫