SQL Server使用者自定義的資料庫修復
本文講解了使用者如何自定義的資料庫修復
一、自動應用重做日誌
1、 利用SET AUTORECOVERY命令自動應用重做日誌,完成對資料檔案的修復操作。
SQL>STARTUP MOUNT:啟動例項並載入資料庫。
SQL>SET AUTORECOVERY ON:啟用重做日誌自動應用功能。
SQL>RECOVER DATABASE:恢復指定表空間、資料檔案或整個資料庫。
SQL>ALTER DATABASE OPEN:完成恢復後開啟資料庫。
2、 利用RECOVERY AUTOMATIC命令自動應用重做日誌,完成對資料檔案的修復操作。
SQL>STARTUP MOUNT:啟動例項並載入資料庫。
SQL>RECOVER AUTOMATIC DATABASE。
SQL>ALTER DATABASE OPEN:完成恢復後開啟資料庫。
二、 不歸檔模式下的資料庫介質恢復
1、 將資料庫恢復到原來的位置上。
SQL>SHUTDOWN IMMEDIATE 如果資料庫仍然處於開啟狀態,關閉資料庫;將資料庫檔案恢復到原來的位置上,利用最近一次建立的一致性完全備份對整個資料庫進行恢復,必須對所有的資料檔案與控制檔案進行修復。
SQL>RECOVERDATABASEUNTILCANCEL SQL>CANCEL SQL>ALTERDATABASEOPENRESETLOGS; |
將當前重做日誌順序號設定為1。
2、 將資料庫恢復到新的位置上。
SQL>SHUTDOWN IMMEDIATE:如果資料庫仍然處於開啟狀態,關閉資料庫;將資料庫檔案恢復到新的位置上,利用最近一次建立的一致性完全備份對整個資料庫進行恢復,必須對所有的資料檔案與控制檔案進行修復;對初始化引數檔案中的CONTROL_FILES引數進行編輯,使它執行儲存在新位置中修復後的控制檔案。
SQL>STARTUP MOUNT:如果修復後的資料庫檔案處於新的位置,必須利用ALTER DATABASE RENAME FILE語句對控制檔案進行修改,使它指向新位置中修復後的資料檔案。如:
SQL>ALTERDATABASERENAMEFILE ‘I:ora9ioradatasystem01.dbf’TO‘K:oracleoradatasystem01.dbf’; SQL>RECOVERDATABASEUNTILCANCEL SQL>CANCEL SQL>ALTERDATABASEOPENRESETLOGS; |
將當前重做日誌順序號設定為1。
三、 歸檔模式下的完全介質恢復
1、 關閉狀態下的完全恢復。
SQL>SHUTDOWN ABORT(如果資料庫處於開啟狀態,將它強行關閉):將資料檔案恢復到原來的位置上,如果介質故障無法排除,需要將資料檔案恢復到其它位置上;利用備份修復丟失或損壞的資料檔案,也可利用ALTER DATABASE CREATE DATAFILE 語句重建一個空白的資料檔案替換對視或損壞的資料檔案。
SQL>STARTUP MOUNT:如果修復後的資料檔案不在原來的位置上,需要使用ALTER DATABASE RENAME FILE …TO …語句在控制檔案中更新它們的資訊。
SQL>SELECTname,statusFROMV$DATAFILE;
查詢資料檔案的名稱和狀態。
SQL>ALTERDATABASEDATAFILE…ONLINE;
將離線資料檔案改未聯機。
SQL>RECOVERDATABASE
或SQL>RECOVERTABLESPACEusers
或SQL>RECOVERDATAFILE‘I:ora9ioradatausers0.dbf;
SQL>ALTERDATABASEOPEN;
2、 開啟狀態下的完全介質恢復。
SQL>SELECTd.file#f#,d.name,d.status, h.statusfromv$datafiled,v$datafile_headerh WHEREd.file#=h.file#; |
查詢哪些資料檔案被自動設定為離線狀態;
SQL>ALTERTABLESPACEusersOFFLINETEMPORARY; |
將包含損壞資料檔案的表空間設定為離線狀態;將資料檔案恢復到原來的位置上,如果介質故障無法排除,需要將資料檔案恢復到其它位置上;利用備份修復丟失或損壞的資料檔案;如果修復後的資料檔案不在原來的位置上,需要使用ALTER DATABASE RENAME FILE …TO …語句在控制檔案中更新它們的資訊。
SQL>RECOVERTABLESPACEusersAUTOMATIC |
對包含損壞資料檔案的離線表空間進行恢復;
SQL>ALTERTABLESPACEusersONLINE;
四、 歸檔模式下的不完全介質恢復
1、 不完全恢復的操作準則:
在恢復前後都對資料庫進行完全備份。
完成不完全介質恢復後,檢查資料庫是否已經恢復到了目標時刻下的狀態。
完成不完全介質恢復後,將歸檔重做日誌檔案移動到其它位置儲存。
2、 基於時間的不完全恢復:
對資料庫進行一次完全備份,包括控制檔案和所有的聯機重做日誌檔案。
SQL>SHUTDOWN ABORT:確定不完全介質恢復的目標時間,即你需要將資料庫恢復到哪個時刻下的狀態,然後確定需要使用哪些備份來對資料進行修復,資料庫修復所使用的控制檔案備份應當能夠正確反映出目標時刻下資料庫的物理結構,所使用的資料檔案備份應當是在目標時刻之前建立的,而且必須修復所有的資料檔案,如果沒有在目標時刻之前建立的資料檔案備份,需要重新建立空白的資料檔案。
如果在資料庫中包含在目標時刻之後建立的資料檔案,不要對這個資料檔案進行修復,因為在完成不完全恢復後的資料庫中根本不應當存在這個資料檔案;將資料檔案恢復到原來的位置上,如果介質故障無法排除,則恢復到其它位置上;利用選定的備份檔案修復所有的控制檔案和資料檔案。
SQL>STARTUP MOUNT 啟動例項並載入資料庫;如果修復後的資料檔案不在它們原來的位置上,需使用ALTER DATABASE RENAME FILE … TO …語句在控制檔案中更新它們的資訊。
SQL>SELECTname,statusFROMV$DATAFILE;
確定所有資料檔案都處於聯機
SQL>ALTERDATABASEDATAFILE…ONLINE;
將資料檔案恢復為聯機;
SQL>RECOVERDATABASEUNTILTIME‘2004-02-01:12:30:30’
如果控制檔案是利用備份修復的,必須在RECOVER名利中指定USING BACKUP CONTROLFILE子句;
SQL>ALTERDATABASEOPENRESETLOGS;
立即對資料庫進行一次完全備份。
3、 基於撤銷的不完全恢復。
SQL>RECOVER DATABASE UNTIL CANCEL:其它步驟同基於時間的不完全恢復。
4、 基於SCN的不完全恢復。
在進行基於SCN的不完全恢復時,oracle會在應用了所有具有小於等於指定SCN的事務的重做記錄之後終止恢復過程。
RESETLOGS選項在如下三種情況下,必須使用RESETLOGS選項開啟資料庫:
1、 在執行任何型別的不完全介質恢復之後;
2、 在使用備份修復控制檔案後(在RECOVER命令中使用USING BACKUP CONTROLFILE子句);
在沒有聯機重做日誌檔案備份的情況下對不歸檔資料庫進行完全恢復之後。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-618110/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 資料頁損壞修復SQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- SQL Server 中自定義資料型別SQLServer資料型別
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- SQL Server 資料庫損壞、檢測以及簡單的修復辦法SQLServer資料庫
- SQL Server 系統資料庫恢復SQLServer資料庫
- 【資料庫資料恢復】sql server資料庫連線失效的資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- 備份和恢復SQL Server資料庫SQLServer資料庫
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 資料庫資料恢復—附加資料庫錯誤823的SQL Server資料恢復案例資料庫資料恢復SQLServer
- 資料庫修復資料恢復資料庫資料恢復
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- SQL SERVER 自定義函式SQLServer函式
- 【資料庫資料恢復】SQL server資料庫被加密怎麼辦?如何恢復?資料庫資料恢復SQLServer加密
- 資料庫資料恢復-SQL SERVER資料庫檔案大小變為“0”的資料恢復方案資料庫資料恢復SQLServer
- SQL Server2000資料庫附加提示“錯誤823“的快速修復SQLServer資料庫
- SQL Server資料庫恢復常見問題SQLServer資料庫
- SQL Server無日誌資料庫恢復模式SQLServer資料庫模式
- 資料庫資料恢復-SQL SERVER資料庫MDF (NDF)或LDF損壞如何恢復資料?資料庫資料恢復SQLServer
- Firebird資料庫修復資料庫
- Interbase資料庫修復資料庫
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- SQL Server 資料庫備份還原和資料恢復SQLServer資料庫資料恢復
- SQL Server資料庫多資料檔案恢復技術SQLServer資料庫
- SQL Server的MDF檔案恢復/修復方法SQLServer
- 批量更新SQL Server資料庫的使用者檢視SQLServer資料庫
- SQL Server資料庫出現邏輯錯誤的資料恢復SQLServer資料庫資料恢復
- Sql Server系列:自定義函式SQLServer函式
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- MS SQL Server 建立返回表型別的使用者自定義函式SQLServer型別函式
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- SQL Server資料庫建立新使用者及關聯資料庫的方法教程SQLServer資料庫
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- [Sql server]資料庫備份的三個恢復模型(轉)SQLServer資料庫模型
- SQL Server資料庫安全SQLServer資料庫
- SQL Server 資料庫映象SQLServer資料庫