Sybase是基於ClIEnt/Server體系結構的數據庫軟件產品。它由三個主要部分構成,一是進行數據庫管理和維護的一個聯機關系數據庫管理系統Sybase SQL Server;二是支持數據庫應用機的建立與開發的一組前端工具Sybase SQL Toolset;三是可把異構環境下其它廠商的應用軟件和任何類型的數據連接在一起的接口Sybase Open ClIEnt/Open Server。對Sybase數據庫的備份與恢復主要是針對Sybase SQL Server進行。
Sybase提供了兩種不同類型的恢復:一類是系統自動完成的軟件系統故障恢復。另一類是需要手工完成的介質故障恢復。
自動恢復是系統本身提供的防止系統失敗的一種保護措施。每次Sybase重啟時都要運行自動恢復機制。自動控制恢復機制確保在系統癱瘓前完成的事務都寫到數據庫設備上,而未完成的事務都被回退。
人工恢復是事先通過數據庫備份工具命令或在線數據流式管理軟件將數據庫備份到磁帶設備,然後通過對應的恢復命令和模式恢復數據庫。
Sybase的傳統備份與恢復
下面我們首先通過討論如何定期備份數據庫來了解Sybase數據庫的傳統備份與恢復方法。
對於Sybase數據庫,一旦硬件或系統出現故障,當且僅當數據庫備份及其事務日志的備份存在的情況下才能恢復數據庫。
備份的任務通常由系統管理員或數據庫所有者承擔。然而,備份數據庫或事務日志的權限可由數據庫所有者傳遞給其它用戶。
制定一個備份時間表是非常重要的。很難確定備份數據及其日志的“最佳”時間表。事實上,備份的頻率決定恢復的質量。如果出現介質故障,可能丟失最大的數據量。對於大型的更新頻繁的數據庫,通常每天要做多次日志備份和至少一次數據庫的備份。
在數據庫活動時可以備份數據庫或事務日志。這種類型的備份(Sybase獨有的特性),稱為動態卸出。動態卸出使備份變得方便,並使連續不斷的操作成為可能。
動態卸出會部分降低Sybase的速度。
備份設備的選擇
Sybase的備份設備列在系統表master..sysdevices中,可執行命令:
Select * From master..sysdevices
Where name like ”%dump%“.
來查看設備狀況。
如果status列出的值是16或者24(表示設備是卸出設備),那麼cntrltype列的值表示卸出設備的類型。卸出設備的值可以是:2~8。
2:表示數據是通過磁盤字節流接口卸出的。卸出設備可以是磁盤、部分磁盤,或操作系統文件。在不指明卸出設備時,默認為操作系統文件。
3~8:表示磁帶卸出設備。
要增加卸出設備,可用系統過程sp_addumpdevice。語法為:
對磁帶設備:
sp_addumpdevice ”type“,device_
name,
physicalname,cntrltype{,skip|noskip},size
對磁盤設備:
sp_addumpdevice ”disk“,device_
name,physicalname,cntrltype
將數據直接備份至磁帶,可以保證數據的離線異地保存,但備份時間會延長。還可以采取先將數據庫備份至本地磁盤,再在機器不繁忙時將備份備至磁帶。