我们常常需要对数据进行迁移,迁移到更加高级的主机上、迁移到远程的机房上、迁移到不同的平台下……
一、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的时候一个都不能少!
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。
-
五大技巧构建首个SQL Server容器
容器的世界庞大而复杂,使用者可能会感到困扰,这里我们将列出一些示例,以便引导您顺利完成SQL Server容器的创建和管理。