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

SYBASE全庫備份方案

編輯:SyBase綜合文章
.1         方案簡介

方案通過Windows2003系統中的計劃任務結合Sybase遠程網絡備份實現數據庫的自動全庫備份。自動批處理的命令是通過SYBASE的全庫備份備份命令,將Sybase數據庫的電量數據備份到在網絡上的另外一台Windows備份服務器上。時間的備份策略可以通過Windows的計劃任務隨時更改。

使用Sybase的Backup Server(備份服務器),做Dump備份

轉儲數據庫(Dump database),就是為整個數據庫(包括數據、表結構、觸發器、游標、存儲過程、事務日志等)做一次物理備份。轉儲數據庫時,系統自動執行一次checkpoint,即將日志和數據從緩沖區拷貝到硬盤(只拷貝髒頁),把已被分配的頁(日志和數據)轉儲到設備。

命令格式為:

dump database 數據庫名 to 設備文件名 with 參數

如果備份到硬盤的文件上,可以不預先估算備份文件的大小,只要硬盤有足夠的存儲空間就可以。由於Sybase數據庫的備份文件非常大,就要考慮多文件轉儲,使用stripe參數。

命令格式為:

dump database 數據庫名 to 設備文件名1 stripe on 設備文件名2  stripe on 設備文件名3……  with 參數

這種數據備份方式是將整個數據庫的運行環境完整的復制一份,包括數據庫的髒頁和碎片,在使用load命令恢復時,只能恢復到同樣大小的數據庫中(數據和日志的大小都只能和原來完全一致),適用於日常備份。優點是數據庫完整無誤,缺點是不能直接查看備份內容。

安裝備份服務器

需要安裝了一台備份服務器,硬盤要足夠大。安裝了Windows 2003的操作系統,並安裝了Sybase備份服務器。並定義了任務計劃,定時執行DUMP備份語句。

2.定義備份的策略.

在Windows 2003計劃任務裡定時將全部的電量數據備份在Windows2003備份服務器上的本地磁盤上。

恢復數據需要有相同的環境:

步驟如下:

先增加用戶數據庫xx_data(需要查看已經用的設備文件和日志文件),並創建xxxx的用戶。並將設備及日志增加到xx_data數據庫中

在小型機器上執行以下命令

#su C Sybase

$ isql -Usa CP  CSxxxx_zjb

1>load database xx_data from "/xx/xxdata1.dat"
Backup Server session id is: 6. Use this value when executing the
'sp_volchanged' system stored procedure after fulfilling any volume change
request from the Backup Server. (顯示部分)
Backup Server: 6.28.1.1: Dumpfile name 'xx_data0520112753' section number 1
mounted on disk file '/xx/xxdata1.dat'
Backup Server: 4.58.1.1: Database xxfk_data: 144278 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 274280 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 403898 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 533900 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 678176 kilobytes LOADed

Redo pass for database 'xxfk_data': 223288 records done (64%); 120241 records left.

Redo pass for database 'xxfk_data': 240464 records done (69%); 103065 records left.

Redo pass for database 'xxfk_data': 257640 records done (74%); 85889 records left.

Redo pass for database 'xxfk_data': 274816 records done (79%); 68713 records left.

Redo pass for database 'xxfk_data': 291992 records done (84%); 51537 records left.

Redo pass for database 'xxfk_data': 309168 records done (89%); 34361 records left.

Redo pass for database 'xxfk_data': 326344 records done (94%); 17185 records left.

Redo pass for database 'xxfk_data': 343520 records done (99%); 9 records left.

Redo pass of recovery has processed 84054 committed and 0 aborted transactions.

Completed REDO pass for database 'xxfk_data'.

Use the ONLINE DATABASE command to bring this database online; SQL Server will

not bring it online automatically.

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