Sybase系統崩潰了,沒有備份,但設備文件還存在,如何恢復數據庫?

  狀況1、全部設備,包括 master ,均是完整的:sql

  這種狀況是最簡單的,只須要先備份設備文件(包括mastercopy 到安全的地方),而後從新安裝系統,建服務(保持頁面大小、編碼和排序與之前同樣),而後中止服務,按原目錄將全部設備文件拷貝回來,再重啓服務便可。新建的服務名可與舊服務不一樣。建議把 服務名.cfg也複製過來,省掉參數配置。數據庫

   狀況2、應用的設備是完整的,但沒有master了:windows

方法1、安全

這種狀況下要恢復數據庫就須要原來的設備使用狀況表了。從新安裝系統,建服務,而後按原設備狀況建設備(大小、位置保持和原來一致),接下來根據記錄下來的設備使用狀況建庫,順序以及佔用的空間要和之前的一致。而後停服務,將應用的數據庫設備複製回來,重啓服務便可。請參考Sybase ASE 系統管理員平常維護指南的建議,按期備份 master 數據庫。服務器

方法2、網絡

1.       從新建立 master 設備併發

本實驗描述瞭如何在master數據庫毀壞的狀況下,如何重建主設備,恢復master數據庫,得以從新恢復系統。ui

這裏假定:編碼

l Master數據庫已損壞,或主設備已損壞。spa

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

l主設備只包括master數據庫、tempdbmodel

lmaster數據庫的最新備份,且上次轉儲master數據庫後沒有初始化任何設備或建立、變動任何數據庫。

關於恢復過程

l將主設備重建爲第一次安裝服務器時的缺省狀態;

lmaster數據庫恢復爲缺省狀態;

lmaster數據庫恢復爲上次備份時的狀態;

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

恢復步驟

步驟1:查找系統表

查找已保存到文件的系統表sysdatabasessysdevicessysusagessysloginrolessyslogins的副本。用這些副本能夠保證在此過程結束時系統已經所有恢復。

步驟2:創建新的主設備

若是Adaptive Server正在運行,關閉它,而後重建主設備。重建主設備時,必須指定設備大小。開始重建前,記住如下幾點:

l保留舊設備,以防遇到問題,舊設備可提供相當重要的信息。

l使用buildmaster命令以前應關閉Adaptive Server

l不一樣操做系統上建立主設備的命令有所不一樣,如:buildmastunix)、bldmasterwindows NT),並安裝通用master數據庫的副本。

l命令中給出主設備的全名和大小。

示例:重建一個30兆(153602k的頁)

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系統表的書面副本,若是有多行dbid1的記錄,則須要增長master的大小以便裝載轉儲。最簡單狀況下,對master進行額外分配只須要使用alter database便可。複雜狀況,必須爲其它數據庫分配空間,以便從新構造恢復master所需的正確的vstart值。

示例:

alter datbase master on master=2

步驟5:檢查Backup Serversysservers系統表信息。

使用空口令以「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 Serverinterfaces文件條目匹配,若匹配跳過步驟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 initcreate databasealter database命令之後已備份了master數據庫,則sysusagessysdatabases、和sysdevice的內容將與書面副本匹配。

l若是副本中的任何設備未包含在已恢復的sysdevices中,則上次備份之後已添加了設備,必須運行disk reinitdisk refit

步驟11:從新啓動Adaptive Server

以常規(多用戶)模式從新啓動Adaptive Server

步驟12:檢查Adaptive server

lsysusages的書面副本與新聯機版本比較

lsysdatabase的書面副本與新聯機版本比較

l在每一個數據庫上運行dbcc checkalloc

l檢查每一個數據庫中重要的表

徹底恢復master數據庫並運行所有的dbcc完整性檢查後,使用常規轉儲命令備份此數據庫。

相關文章
相關標籤/搜索