Oracle数据库迁移的几种方式
我们常常需要对数据进行迁移,迁移到更性能配置更高级的主机 OS 上、迁移到远程的机房、迁移到不同的平台下,以下介绍 ORACLE 的几种数据库迁移方案: 一、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 的时间。
二、Storage 存储迁移:
这种情况下,数据文件、控制文件、日志文件、spfile 都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。
操作方法:将老库的 pfile(因为里面有指向裸设备的 spfile 链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机,或者用文件拷贝或 dd 的方式复制数据文件,启动数据库。
优缺点:优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba 只需配合即可,停机时间为停库、切存储、起库的时间;缺点是要求新老库都是同一平台,是相同的数据库版本。
三、利用 data guard 迁移:
用 dg 我们不仅可以用来做容灾,物理的 dg 我们还可以作为迁移的方式。
操作方法:可见http://www.oracleblog.cn/study-note/dg-created-by-rman/或者
http://www.oracleblog.cn/study-note/create-dg-by-rman-one-datafile-by-one-datafile/或者其他相关网文。注意 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 数据库;
=========================================================================================