維護sybase數據庫的DBA必須掌握的命令

一、dump命令數據庫


這是sybase數據庫中經常使用的備份命令,格式爲服務器


dump database QJMIS to 「z:\qjmis20040324」server


命令的含義是把用戶數據庫QJMIS備份到z盤的根目錄下,備份文件名爲qjmis20040324,在爲備份文件命名的時候,最好加上日期,這樣在恢復時可以很快找到該文件。QJMIS是咱們本文中所用的用戶數據庫的名稱。ast


此命令也能夠備份master數據庫,方法同樣,master數據庫的備份和用戶數據庫的備份一樣重要,由於若是master 數據庫遭損壞,數據庫服務將沒法啓動,此時如有備份過的master數據庫,恢復就會簡單得多。object


二、load命令select


這是sybase數據庫中經常使用的恢復命令,格式爲搜索


load database QJMIS from  「z: \qjmis20040324」二進制


命令含義是把備份數據庫文件qjmis20040324恢復到QJMIS庫裏,作完此操做後,必須用online命令使該數據庫處於在線狀態,即online database QJMIS。對於普通的用戶數據庫,在多用戶模式下也能夠進行恢復工做,但在恢復時要保證除系統管理員外沒有其餘用戶使用此數據庫。對於master數據庫,卻要在單用戶模式下才能用此命令進行裝載。那如何進入單用戶模式呢?程序


編輯處於Adaptive SERVER install目錄中的RUN_SERVERNAEME ,例如你的數據庫服務器名字爲QJSERVER,那此文件名就爲RUN_QJSERVER.bat,點右鍵編輯此文件,在文件尾插入-m標誌和-T3608跟蹤標誌,保存後使用此文件來啓動數據庫便可進入單用戶模式。方法


三、bcp命令


能夠用此命令把源數據庫裏面的數據導出到文件中,也能夠利用數據文件把數據導入目的數據庫,格式以下


select "bcp QJMIS.." +name+ " out " +name+ ".bcp -Usa -Paaaa-SYDMIS -c -r \n" from QJMIS..sysobjects where type='U' order by name


導入時把相應的out改in 就能夠了。


四、defncopy命令


可用此命令來從源數據庫中把存儲過程、視圖、觸發器、規則導出


格式爲


select "defncopy -Usa -Paaaa –SYDMIS out" +name+ ".txt QJMIS" from QJMIS..sysobjects where type='P' or type='V' or type='TR' order by name


導入把out 換爲in便可。


五、重建master數據庫命令


對於sybase數據庫來講,若是master數據庫遭損壞,意味着數據庫將沒法啓動,此時必須重建master設備。


對於12.5版本的Adaptive SERVER服務器來講,它並不使用bldmastr二進制程序來創建master設備,但可用dataserver二進制程序重建,格式爲:


dataserver –d 「x:\data\master.dat」 –w master -b 800M


其中參數 –d 指出master數據庫設備文件的位置,咱們的master數據庫設備文件放在x:\data目錄之下;


-w 指定恢復的數據庫是master數據庫;


-b指定master設備文件的大小,當初在建庫時,咱們的master數據庫設備空間爲800M, 因此把空間指定爲800M,在這裏尤爲須要加以注意,指定的master設備大小必定要和初始的master設備大小一致,不然,若是指定的master設備小於初始master設備,則當搜索原本屬於master數據庫的分配單元時,將找不到應該屬於初始maser設備的空間,若是指定的master設備太大,則駐留在初始master設備末端後面的其它數據庫會被錯誤的掃描,這將損壞它們,在運行過程當中,master數據庫經歷了一個內部升級的過程,以重建master數據庫。


對於Adaptive SERVER12.5之前的版本,就能夠用bldmastr二進制程序來創建master設備,格式爲:


bldmastr –d x:\data\master.dat –s409600 在x盤的data目錄重建大小爲800M(409600個2K頁)的master數據庫


上述兩個命令dataserver、bldmastr的使用都是在NT環境中。


以上命令都是我在維護sybase數據庫中常常使用到的,現把它寫出來,供你們參考。