SQL Server数据库迁移方法

数据库 SQL Server
本文将简单介绍如何将SQL Server数据库进行迁移的方法,并对比这几种方法各自的优劣,方便大家在实际工作中做好SQL Server数据库的迁移工作。

我们常常需要对数据进行迁移,迁移到更加高级的主机上、迁移到远程的机房上、迁移到不同的平台下……

一、exp/imp:

这也算是最常用最简单的方法了,一般是基于应用的owner级做导出导入。

操作方法为:在新库建立好owner和表空间,停老库的应用,在老库做exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,传dmp文件到新库,在新库做imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.

优缺点:优点是可以跨平台使用;缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。

二、存储迁移:

这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。

操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机,或者用文件拷贝或dd的方式复制数据文件,启动数据库。

优缺点:优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba只需配合即可,停机时间为当库、切存储、起库的时间。缺点是要求新老库都是同一平台,是相同的数据库版本。

三、利用data guard迁移:

用dg我们不仅可以用来做容灾,物理的dg我们还可以作为迁移的方式。

操作方法:注意switch over之后,可以将dg拆掉,去掉log_archive_dest_2、FAL_SERVER、FAL_CLIENT、standby_file_management参数。另外还要注意如果用rman做dg,注意手工添加tempfile。

优缺点:优点是停机时间短,停机时间为switch over的时间。缺点:主机必须双份、存储必须双份。

四、用rman做迁移:

rman比较适合于跨文件系统的迁移,如同平台下的不同文件系统。

操作方法:

1.停第三方的归档备份,如legato或dp

2.backup数据库:

run{
  allocatechannelt1typedisk;
  backupfullformat'$DIR_BAK/UNDOTBS1_2_%d_%s_%p.bak'datafile2;
  ……
  releasechannelt1;
  }

3.备份控制文件alter database backup controlfile to '/tmp/mydb.ctl';并到新数据库用rman恢复:restore controlfile from '/arch/sd168.ctl';

4.restore备份文件:

run{
  allocatechannelt1typedisk;
  restoredatafile2;
  releasechannelt1;
  }

5.传归档日志,并且对归档进行做recover:recover database until sequence = 归档的序号 thread = 1;

6.对数据库open resetlogs:RMAN>sql 'alter database open resetlogs';

7.alter tablespace temp add tempfile 'XXXXXX' size XXM reuse;

优缺点:优点是可以跨文件系统,停机时间少。缺点是要时刻关注这归档日志,做recover的时候一个都不能少!

【编辑推荐】

  1. 详解SQL Server 2008迁移查询计划
  2. SQL Server 2008 的恢复和备份模式
  3. 初探SQL Server 2008的性能数据收集器
责任编辑:book05 来源: it168
相关推荐

2011-04-29 14:30:23

2011-03-31 14:33:57

SQL Server最小宕机迁移

2011-04-18 10:00:32

SQL Server数据库迁移

2023-11-29 09:53:29

数据库迁移SQL Server

2011-04-06 17:30:41

SQL ServerSQL

2010-07-15 17:28:50

SQL Server

2010-09-14 09:53:52

sql server还

2009-05-04 13:43:16

SQL Server置疑数据库恢复

2009-03-30 10:56:58

SQL Server数据库死锁数据库

2009-01-27 21:00:00

服务器数据库SQL Server

2009-04-10 09:22:48

SQL Server并发测试

2011-03-30 15:36:31

SQL Server

2011-03-29 09:40:31

SQL Server数据库链接

2010-10-26 15:54:02

连接oracle数据库

2021-05-17 06:57:34

SQLServer数据库

2010-07-08 11:05:14

SQL Server数

2011-03-28 14:29:46

SQL Server数主键列

2010-09-03 11:00:47

SQL删除

2010-11-08 16:04:06

SQL SERVER连

2010-11-08 14:02:40

SQL Server系
点赞
收藏

51CTO技术栈公众号