Sybase恢復受損的master資料庫

2021-03-31 13:30:13 字數 3150 閱讀 5966

本實驗描述了如何在master資料庫毀壞的情況下,如何重建主裝置,恢復master資料庫,得以重新恢復系統。

這裡假定:

l master資料庫已損壞,或主裝置已損壞。

l有系統表的最新列印輸出。

l主裝置只包括master資料庫、tempdb和model

l有master資料庫的最新備份,且上次轉儲master資料庫後沒有初始化任何裝置或建立、變更任何資料庫。

關於恢復過程

l將主裝置重建為第一次安裝伺服器時的預設狀態;

l將master資料庫恢復為預設狀態;

l將master資料庫恢復為上次備份時的狀態;

注意:在恢復master資料庫的早期階段,不能使用系統儲存過程。

恢復步驟

步驟1:查詢系統表

查詢已儲存到檔案的系統表sysdatabases、sysdevices、sysusages、sysloginroles和syslogins的副本。用這些副本可以保證在此過程結束時系統已經全部恢復。

步驟2:建立新的主裝置

如果adaptive server正在執行,關閉它,然後重建主裝置。重建主裝置時,必須指定裝置大小。開始重建前,記住以下幾點:

l保留舊裝置,以防遇到問題,舊裝置可提供至關重要的資訊。

l使用buildmaster命令之前應關閉adaptive server。

l不同作業系統上建立主裝置的命令有所不同,如:buildmast(unix)、bldmaster(windows nt),並安裝通用master資料庫的副本。

l命令中給出主裝置的全名和大小。

示例:重建乙個30兆(15360個2k的頁)

在window nt上:

bldmastr -d d:/devices/master.dat –s15360

步驟3:以主恢復方式啟動adaptive server

使用-m選項以主恢復方式啟動adaptive server。在window nt上,使用sqlsrvr命令從命令列啟動aadaptive server。

sqlsrvr.exe –d:/devices/master.dat –sserver_name –ed:/sybase/install/errorlog –id:/sybase/ini –md:/sybase –m

說明:以主恢復方式啟動adaptive server時,只允許乙個使用者(系統管理員)登入。

步驟4:重建master的裝置分配

檢查sysusages系統表的書面副本,如果有多行dbid=1的記錄,則需要增加master的大小以便裝載轉儲。最簡單情況下,對master進行額外分配只需要使用alter database即可。複雜情況,必須為其它資料庫分配空間,以便重新構造恢復master所需的正確的vstart值。

示例:

alter datbase master on master=2

步驟5:檢查backup server和sysservers系統表資訊。

使用空口令以「sa「使用者登入伺服器(如果backup server的網路名不是syb_backup,則必須更新sysservers以便adaptive server可以與其backup server通訊)。

l檢查inte***ces檔案中backup server的名稱;

l並發出下面的命令:

select * from sysservers

where srvname=」syb_backup」

l檢查此命令中輸出結果的srv***name。是否與伺服器的backup server的inte***ces檔案條目匹配,若匹配跳過步驟5;

l如不同,則必須更新sysservers

示例:

begin tranaction

updata sysserver

set srv***name=」backupserver_name」

where srvname=」syb_backup」

l核實該命令,如果updata修改了多行,或者修改了不應修改的行,則發出rollback tranaction命令,然後嘗試再次更新。

如果該命令正確修改了backup server的行,則發出***mit transaction命令。

步驟6:核實backup server正在執行

window nt平台上,本地安裝的sybase central和服務管理器可以顯示backup server是否正在執行。

步驟7:裝載master資料庫的備份

在window nt上:

load database master from 「d:/device/master.bck」

在load database成功完成後,adaptive server將關閉。

步驟8:更新number of devices配置引數

僅當使用的資料庫裝置比預設值多時才執行此步驟。

步驟9:以主恢復方式方式重新啟動adaptive server

sqlsrvr.exe –d:/devices/master.dat –sserver_name –ed:/sybase/install/errorlog –id:/sybase/ini –md:/sybase –m

注意:裝載master的備份將使「sa」帳號恢復到以前的狀態。如果sa帳號有口令,則口令恢復。

步驟10:檢查系統表以檢驗master的當前備份

l如果發出最新的disk init、create database或alter database命令以後已備份了master資料庫,則sysusages、sysdatabases、和sysdevice的內容將與書面副本匹配。

l如果副本中的任何裝置未包含在已恢復的sysdevices中,則上次備份以後已新增了裝置,必須執行disk reinit和disk refit。

步驟11:重新啟動adaptive server

以常規(多使用者)模式重新啟動adaptive server

步驟12:檢查adaptive server

l將sysusages的書面副本與新聯機版本比較

l將sysdatabase的書面副本與新聯機版本比較

l在每個資料庫上執行dbcc checkalloc

l檢查每個資料庫中重要的表

完全恢復master資料庫並執行全部的dbcc完整性檢查後,使用常規轉儲命令備份此資料庫。

恢復受損的Windows系統

很多時候我們會發現自己的系統問題越來越多,如果 將就使用,那系統執行效率肯定不會很高,甚至還無法正 常執行,如果選擇重新安裝系統,那不但麻煩不說,而且 還會耗費很長的等待時間。其實,當windows系統一旦遇 到無法啟動或者執行出錯的故障時,我們不妨使用下面的 六項措施,來快速而有效地 急救 受損的...

恢復受損的Windows系統

很多時候我們會發現自己的系統問題越來越多,如果 將就使用,那系統執行效率肯定不會很高,甚至還無法正 常執行,如果選擇重新安裝系統,那不但麻煩不說,而且 還會耗費很長的等待時間。其實,當windows系統一旦遇 到無法啟動或者執行出錯的故障時,我們不妨使用下面的 六項措施,來快速而有效地 急救 受損的...

恢復受損的Windows系統

很多時候我們會發現自己的系統問題越來越多,如果 將就使用,那系統執行效率肯定不會很高,甚至還無法正 常執行,如果選擇重新安裝系統,那不但麻煩不說,而且 還會耗費很長的等待時間。其實,當windows系統一旦遇 到無法啟動或者執行出錯的故障時,我們不妨使用下面的 六項措施,來快速而有效地 急救 受損的...