程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> sybase操作(恢復1)

sybase操作(恢復1)

編輯:SyBase綜合文章
當前位置: 火魔網 » 數據庫 » Sybase

Sybase操作(恢復1)

更新: 2011-07-28字體: 【 】點擊: 1  

三. Sybase數據庫的恢復

1. master數據庫故障下,adaptive server的恢復

由於master數據庫有主設備的中央控制特性,它的表配置控制所有adaptive server功能及數據庫和數據設備,因此master數據庫出現了故障對用戶來說將是災難性的。master數據庫的損壞可能是因master設備或數據內部損壞引起的,一般情況下如果出現以下故障,可以確定master數據庫已被破壞:

.Adaptive Server不能啟動

.dbcc報告有錯誤

.有頻繁的輸入/輸出錯誤

master數據庫故障下,adaptive server的恢復過程因master數據庫備份是否存在而不同。

Master數據庫備份不存在

按以下方法恢復:

.使用bldmastr命令建立一個新的master設備

假設SYBASE安裝在c:\Sybase下,

在c:\Sybase\ASE-12_0\bin\ 下執行bldmastr 命令

(bldmastr 是Sybase/bin目錄下的實用程序)

.打開記事本編緝adaptive server的run file(加-d參數),使其指向新的master設備。

Run file文件在Sybase\ase-12_0\install\ 目錄下(如:RUN_test.bat)

.在單用戶模式下啟動server。

命令:Startserver –f run_filename –m 如下圖:

以這種方式啟動的Adaptive Server將自動配置為允許更新系統表,不允許其它操作。

.修改新的master數據庫大小,使其與原來的大小一致。

用bldmastr命令建立的master數據庫默認僅有3M,需恢復到與原來一致。如:使用命令alter database master on master=77將Master數據庫恢復到80M.

.執行disk reinit命令恢復sysdevices表的內容

命令:Disk reinit

Name=”device_name”,

Physname=”physicalname”,

Vdevno=virtual_device_number,

Size=number_of_blocks[,vstart=virtual_address,cntrltype=controller_number]

如創建一個名稱為wfds的數據庫SQL語句如下:

disk init

name="wfds",

physname="c:\testdat\wfds.dat",

vdevno=8,

size=5120

.執行disk refit 命令恢復sysdatabases表和sysusages表的內容

disk refit只能由系統管理員從master數據庫運行,權限不能轉移給其它用戶。命令語法為:

disk refit

在disk refit重建系統表後,server將關閉。

.在單用戶模式下執行installmaster T-SQL腳本和installmodel T—SQL腳本。

Isql  –Usa  -P –ic:\Sybase\scripts\Ase-12_0\installmaster

Isql –Usa –P –ic:\Sybase\scripts\Ase-12_0\installmodel

. 用sp_addlogin重建登錄用戶

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved