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

sybase數據庫備份策略

編輯:SyBase綜合文章

數據庫備份策略在維護系統數據安全起著非同小可的作用,好的備份策略應該考慮保證數據的安全,並且操作較為方便。 基本過程很簡單,如下:
1.備份到本地硬盤: 
dump transaction with truncate_only 
dump database … to … 
dump transaction 
。。。

2.當裝載數據庫和事務日志時,為防止其他用戶對數據庫的操作,須把數據庫設置為 dbo use only。 
進行裝載時的順序為: 
dump transaction with no_truncate 
load database database_name from ... 
load transaction database_name from ... 
。。。 
online database 
也可以用until指定恢復到某個時間

使用阈值管理 
可以使用阈值管理,在阈值管理中安排當超過某個阈值時自動轉儲事務日志。當超過閥值以後,SQL Serve中斷或掛起試圖寫這個日志的用戶事務。對每一個掛起的事務 向errorlog 發一條消息;然後執行sp_thresholdaction 
sp_thresholdaction用戶自己編寫 
create procedure sp_thresholdaction 
@dbname varchar(30), 
@segmentname varchar(30), 
as 
dump transaction @dbname to "DEVICE" 
print "LOG DUMP: %1! for %2! dumped", @segmentname, @dbname 
其中參數 : 
@dbname 為達到閥值的數據庫名; 
@segmentname 為達到閥值的段名;

用戶數據庫損壞的處理 
如果數據庫處於suspect狀態,無法用drop database 刪除時: 
dbcc dbrepair (db_name, dropdb) 
create database db_name on dev_name for load
load database db_name from dump_device

master庫損壞的處理
使用 buildmaster -m 重建一個新的master數據庫; 
buildmaster 建立 master 設備並在這個設備上建立 master, model, tempdb 庫。
-m 選項只重新寫 master 庫, 而不修改配置塊或初始化 master 設備。 
以單用戶方式重啟動服務器, 如果需要的話, 則需增加轉儲設備; 
從備份裝載master數據庫; 
用 startserver 重啟 SQL Server; 
檢查一致性: 對每一個數據庫運行 dbcc checkalloc,並對重要的表進行檢查;

但是,當我們問及Sybase的技術支持是否建議使用threshold 時,他們並不積極建議這樣做,理由是自動化操作往往會出現一些難於預料的結果。當然,要是有那麼負責的dba,天天定時手工備份,當然是再好不過了。
基本的備份操作是簡單,但是我們在實際實施備策略時,往往會考慮這樣那樣的問題,也會出現一些意想不到的問題,比如:
1、是整庫備份還是增量備份
2、每天什麼時候備份,備份時間怎麼安排
3、萬一需要恢復數據庫,當前的備份能恢復到一個什麼程度
4、數據庫在恢復時可能出現哪些緊急情況
等等...

歡迎大家就這個主題進行一下討論,以激發出一些好的想法和經驗,以共同增強系統數據的安全性!

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