新上了一套sybase數據庫,需要做數據遷移工作,由於可以申請周末停機時間,因此可以選擇如下兩種方案,方法都比較簡單,同sqlserver很類似
方法1:dump和load方法,本質上是備份和恢復
遷移的簡單過程如下
1, 數據庫數據備份(老庫) 使用備份腳本備份生產庫
導出數據庫(雲平台old數據庫)
--單用戶狀態
use master go sp_dboption TEADB,"single user",true go sp_flushstats go checkpoint use TEADB go sp_flushstats go checkpoint --也可以使用壓縮備份方式(可選)
use master
go
dump database TEADB to 'E:\backup\diskdump3.dat' compression=1
go
2,壓縮備份介質 已確認安裝壓縮軟件,使用圖形操作;
備份文件傳輸 備份文件ftp放到新服務器(bin模式),放於E盤(存儲盤)
ftp IP_ADDR
bin
cd e:\
put *.zip
已確認ftp可以正常使用
3,解壓縮 使用圖形界面操作
4,備份文件導入 恢復方式load數據
use master
load database TEADB from "E:\backup\*.dat"
5,數據庫檢查 聯機數據庫
online database TEADB
檢查數據一致性
dbcc checkdb("TEADB");
方法2:一個更快的數據遷移方法,直接umount/mount,就可以了可以節省load和dump的時間,;該方法本質上同sql server的附件功能,多了一個配置文件
1,source db:umount db
use master go unmount database mytest2 to 'e:\backup\mytest2.mf' 2,拷貝相關介質
cp dat file and mf file to backup dirctory or remote server : E:\backup\mytest2 select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf"---@target db, 查看介質的相關情況
select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf" with listonly3,mount數據庫
select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf" using "E:\Sybase\backup\mytest2.dat" = "mytest2" , "E:\Sybase\backup\mytest2log.dat" = "mytest2log" go4,online db
use master go online database mytest2參考文檔: