數(shù)據(jù)庫(kù)要怎么維護(hù)(二)
數(shù)據(jù)庫(kù)維護(hù)工作是系統(tǒng)管理員的重要職責(zé)。在數(shù)據(jù)庫(kù)維護(hù)中除了要注意備份系統(tǒng)數(shù)據(jù)等工作還有以下情況應(yīng)該這樣做:
二、萬(wàn)一系統(tǒng)失敗時(shí)恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng)
如果用戶(hù)數(shù)據(jù)庫(kù)存儲(chǔ)的設(shè)備失效,從而數(shù)據(jù)庫(kù)被破壞或不可存取,通過(guò)裝入最新的數(shù)據(jù)庫(kù)備份以及后來(lái)的事務(wù)日志備份可以恢復(fù)數(shù)據(jù)庫(kù)。假設(shè)當(dāng)前的事務(wù)日志存在于一個(gè)并沒(méi)有毀壞的設(shè)備上,帶著 WITH NO_TRUNCATE 選項(xiàng)的 DUMP TRANsaction 命令卸出它。
要恢復(fù)數(shù)據(jù)庫(kù)按如下步驟去做:
1、如果日志存在于一個(gè)分離的設(shè)備上,用帶著 NO_TRUNCATE 選項(xiàng)的 DUMP TRANsaction 命令卸出被毀壞的或者不可存取的用戶(hù)數(shù)據(jù)庫(kù)事務(wù)日志。
2、用下面的查詢(xún)檢查設(shè)備分配已毀壞數(shù)據(jù)庫(kù)的設(shè)備使用情況。必須為同一目的賦同樣的空間塊。
下面的查詢(xún)顯示了分配給數(shù)據(jù)庫(kù) mydb 設(shè)備使用和尺寸情況:
SELECT segmap,size FROM sysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = “mydb”)
3、檢查查詢(xún)的輸出。在 segmap 列的 ‘3’代表數(shù)據(jù)分配,‘4’代表日志分配。size 列代表 2K 數(shù)據(jù)塊的數(shù)目。注意此信息的次序、使用和尺寸部分。例如,輸出為:
segmapSize