sybase数据库的两种简单迁移方法


新上了一套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 listonly

3,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"
go

4,online db
use master
go
online database mytest2


参考文档:
http://sybase-addict.com/move-or-copy-a-sybase-ase-database-with-mount-unmount-and-quiesce-commands/

你可能感兴趣的:(sybase数据库的两种简单迁移方法)