linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc
Linux平臺下Sybase數(shù)據(jù)庫備份方法分析
Linux平臺下Sybase數(shù)據(jù)庫備份方法分析
摘 要:對于從事信息系統(tǒng)管理的人員來說,掌握數(shù)據(jù)庫的備份方法在工作中尤為重要。當(dāng)本地數(shù)據(jù)出錯或者磁盤損壞時,可以利用備份的數(shù)據(jù)恢復(fù)數(shù)據(jù)庫系統(tǒng),從而保證系統(tǒng)的正常運(yùn)行。文章以Linux平臺下的Sybase數(shù)據(jù)庫為例,給出兩種不同備份的實現(xiàn)方法。
關(guān)鍵詞:Linux平臺;Sybase;數(shù)據(jù)庫備份
對于從事信息管理系統(tǒng)的人員來說,掌握數(shù)據(jù)庫的備份是必備的技能。當(dāng)本地數(shù)據(jù)出錯、人為誤操作或者磁盤/文件損壞時,可以利用備份的數(shù)據(jù)進(jìn)行恢復(fù),從而保證系統(tǒng)的正常運(yùn)行[1]。本文以Linux平臺下Sybase數(shù)據(jù)庫的備份為例,給出兩種備份的實現(xiàn)方法,并對這兩種方法實現(xiàn)的操作專業(yè)程度、時間性能、可擴(kuò)展性等方面進(jìn)行比較說明,以供信息系統(tǒng)管理人員進(jìn)行相應(yīng)管理操作使用。Linux平臺下Sybase數(shù)據(jù)庫備份的方法主要有兩種:(1)整庫二進(jìn)制備份;(2)整表文本備份。下面針對這兩種備份方法進(jìn)行詳細(xì)描述,并給出客觀的對比結(jié)論。
1 整庫二進(jìn)制備份恢復(fù)
1.1整庫二進(jìn)制備份
整庫二進(jìn)制備份主要采用轉(zhuǎn)儲數(shù)據(jù)庫的方式進(jìn)行,就是為整個數(shù)據(jù)庫(包括數(shù)據(jù)、表結(jié)構(gòu)、觸發(fā)器、游標(biāo)、存儲過程、事務(wù)日志等)做一次完整的物理備份。
Sybase進(jìn)行數(shù)據(jù)庫轉(zhuǎn)儲時,Sybase系統(tǒng)自動執(zhí)行一次Checkpoint(所謂的Checkpoint是將日志和數(shù)據(jù)從內(nèi)存緩沖區(qū)寫入到硬盤中(只針對改動過的數(shù)據(jù)進(jìn)行寫入,即臟頁寫入),把己被分配的日志頁和數(shù)據(jù)頁也寫入到磁盤中,確保進(jìn)行數(shù)據(jù)庫轉(zhuǎn)儲時數(shù)據(jù)的正確性。 通過整庫二進(jìn)制備份,可以將整個數(shù)據(jù)庫的運(yùn)行環(huán)境完整復(fù)制一份,包括數(shù)據(jù)庫的結(jié)構(gòu)、臟頁和碎片,在使用load命令恢復(fù)時,只能恢復(fù)到同樣大小的數(shù)據(jù)庫中(數(shù)據(jù)和日志的大小都只能和原來完全一致),可以確保真正地還原,恢復(fù)后數(shù)據(jù)庫準(zhǔn)確無誤。
可以采用如下的方式進(jìn)行Sybase的整庫二進(jìn)制備份:使用Sybase數(shù)據(jù)庫提供的isql命令登錄數(shù)據(jù)庫服務(wù)器,并使用dump命令進(jìn)行備份。具體的命令實現(xiàn)為:
dbuser> isql -S{DBServerName)-U{username) -P{password)
dump database {dbname) to “path/filename” withcompression={level)
dump transaction {dbname) to“path/filename"
go
其中“path/filename”為備份出來的文件放置的目錄以及文件名。compression為備份時是否進(jìn)行壓縮,取值范圍:0-9以及100或者101。其中0表示不壓縮,9表示最高壓縮比進(jìn)行壓縮。100表示提供更快速度的壓縮;101表示提供壓縮比更高的壓縮,一般根據(jù)磁盤的情況以及壓縮的時長,來決定具體的壓縮等級。
1.2整庫二進(jìn)制恢復(fù)
整庫二進(jìn)制恢復(fù)可以將整庫二進(jìn)制備份方式下備份出來的數(shù)據(jù)庫物理備份進(jìn)行恢復(fù)。采用整庫二進(jìn)制恢復(fù),可以確保數(shù)據(jù)庫恢復(fù)到備份時的情況,包括數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)、頁和碎片等。整庫二進(jìn)制恢復(fù)在進(jìn)行恢復(fù)前,需要確保要恢復(fù)的數(shù)據(jù)庫設(shè)備存在,并且要比備份的容量相等或者更大。以便可以完整地進(jìn)行物理恢復(fù)。整庫二進(jìn)制恢復(fù)分3步進(jìn)行。
第一步:創(chuàng)建準(zhǔn)備恢復(fù)的數(shù)據(jù)庫設(shè)備(包括數(shù)據(jù)設(shè)備和日志設(shè)備)以及數(shù)據(jù)庫。
可以采用如下命令,創(chuàng)建恢復(fù)所需的數(shù)據(jù)庫設(shè)備:
dbuser> isql -S{DBServerName)-U{username) -P{password)
disk init name=’datadev’, physname=’/opt/Sybase/data/datadev.dat’. size=’150m'
disk init name=’logdev’, physname=’/opt/Sybase/data/logdev.dat’, size=’300m'
go
datadev為數(shù)據(jù)設(shè)備,用于放置實際的數(shù)據(jù);logdev為日志設(shè)備,用于放置日志數(shù)據(jù),disk init命令用于創(chuàng)建數(shù)據(jù)庫所需的數(shù)據(jù)設(shè)備和日志設(shè)備。上面命令表示,創(chuàng)建一個數(shù)據(jù)設(shè)備,容量大小為150 M,設(shè)備名稱為datadev;創(chuàng)建一個日志設(shè)備,容量大小為300 M,設(shè)備名稱為logdev。
可以采用如下命令,創(chuàng)建恢復(fù)所需的數(shù)據(jù)庫:
dbuser> isql -S{DBServerName)-U{username) -P{password)
create database dbname on datadev=’150m' log onlogdev=’300m’
go
上面的命令表示,在數(shù)據(jù)設(shè)備da
總結(jié)
以上是生活随笔為你收集整理的linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arm ida 伪代码 安卓 符号表_I
- 下一篇: secp256r1 c语言程序,rust