sybase數據遷移dat文件導入,擴容


這兩天一直在糾結sybase數據庫dat文件的導入問題,查了一堆的資料,慢慢的總結出了自己的一點小經驗。

個人覺得dat文件的導入首先必須滿足的要求是,新的數據庫的空間大小必須大於等於原有數據庫的空間大小,本人現在就在導入一個6G多大的dat文件,它的原有數據庫的大小為85G,sybase數據庫的初始大小最大應該是只能設最多32G,可以通過語句擴容,先新建一個設備,然后把這個設備再綁定給數據庫,通過1個數據庫綁定多個設備達到擴容的效果,我現在就用了3個30G的設備組成一個90G的數據庫,語句如下:alter database databasename(數據庫名) on deviceName(新建一個設備名)=size(大小,默認單位為MB,可以用G),我的語句是 alter database creditdb on creditData02="30G"。假如空間大小滿足不了,這時進行導入操作會報錯Msg 3105,Data on dump will not fit into current database.Need XXXXMbyte database,表示需要多少空間才能進行導入。

再說Msg 8009吧,我的解決方式是在load database databasename from "/XXXX/XXXX.dat" 時,因為原文件可能是在dump導出生成時加了compress壓縮命令進行了壓縮導出生成的dat文件,如果要成功導入,必須添加"compress::",我的語句是 load database creditdb from "compress::sybase/credit_2014.dat"。進行解壓導入。

如果要進行壓縮導出dat文件語句也是差不多,

dump database creditdb to "compress::D/creditdb.dat"  。

其他人遇到的Msg 8009可能還有其他原因和解決方式。本人暫時只遇到這種情況。還有一個問題,感覺很多用過sybase的人沒去提過,就是當你導入數據比較大的時候在導入結束以后還要緩沖一段時間才可以online databse,我第一次導入6G大的dat文件時,看到顯示導入數據停那半天,下面還一行警告語句,什么該導入操作可能影響你的數據庫導致其不可用什么的,我還以為出問題,傻傻的把導入操作給停了,第二次重新再導的時候我在數據導完,然后警告信息出來后等它緩沖了10多分鍾,然后終於才顯示導入completed,浪費了我40多分鍾。還有比如擴充數據庫以及新建設備和數據庫,如果分配的空間比較大的話,同樣在執行create 或者 alter 以GB為單位的空間時,同樣需要等待較長時間緩沖。比如我新建一個30G的設備大概要15-30分鍾,然后擴充給數據庫30G也要20-30分鍾。

新建設備的語句如下:

disk init

name="creditData02",(設備名)

physname="/sybdev/creditData02.dat", (設備生產dat文件的路徑,自己定義,建議可以和其他dat文件放同一目錄或再新建個目錄統一管理)

size="30G"

go

擴容:

alter database creditdb on creditData02="30G"

go


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM