狀況1、全部設備,包括 master ,均是完整的:sql
這種狀況是最簡單的,只須要先備份設備文件(包括master,copy 到安全的地方),而後從新安裝系統,建服務(保持頁面大小、編碼和排序與之前同樣),而後中止服務,按原目錄將全部設備文件拷貝回來,再重啓服務便可。新建的服務名可與舊服務不一樣。建議把 服務名.cfg也複製過來,省掉參數配置。數據庫
狀況2、應用的設備是完整的,但沒有master了:windows
方法1、安全
這種狀況下要恢復數據庫就須要原來的設備使用狀況表了。從新安裝系統,建服務,而後按原設備狀況建設備(大小、位置保持和原來一致),接下來根據記錄下來的設備使用狀況建庫,順序以及佔用的空間要和之前的一致。而後停服務,將應用的數據庫設備複製回來,重啓服務便可。請參考Sybase ASE 系統管理員平常維護指南的建議,按期備份 master 數據庫。服務器
方法2、網絡
1. 從新建立 master 設備併發
本實驗描述瞭如何在master數據庫毀壞的狀況下,如何重建主設備,恢復master數據庫,得以從新恢復系統。ui
這裏假定:編碼
l Master數據庫已損壞,或主設備已損壞。spa
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檢查interfaces文件中Backup Server的名稱;
l併發出下面的命令:
select * from sysservers
where srvname=」SYB_BACKUP」
l檢查此命令中輸出結果的srvnetname。是否與服務器的backup Server的interfaces文件條目匹配,若匹配跳過步驟5;
l如不一樣,則必須更新sysservers
示例:
begin tranaction
updata sysserver
set srvnetname=」backupserver_name」
where srvname=」SYB_BACKUP」
l覈實該命令,若是updata修改了多行,或者修改了不該修改的行,則發出rollback tranaction命令,而後嘗試再次更新。
若是該命令正確修改了Backup Server的行,則發出commit 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完整性檢查後,使用常規轉儲命令備份此數據庫。