数据库迁移几种方式

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

33 同行回答

myciciy myciciy 联盟成员 IT顾问 某金融科技公司
:victory: :victory: :victory:显示全部
:victory: :victory: :victory: 收起
银行 · 2009-03-13
浏览947
myciciy myciciy 联盟成员 IT顾问 某金融科技公司
四、用rman做迁移:  rman比较适合于跨文件系统的迁移,如同平台下的不同文件系统。  操作方法:  1.停第三方的归档备份,如legato或dp  2.backup数据库:  run {   allocate channel t1 type disk;   backup full format '$DIR_BAK/UNDOTBS1_2_%d_%s_%p.bak' dataf...显示全部
四、用rman做迁移:

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

  操作方法:

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

  2.backup数据库:
  run {
  allocate channel t1 type disk;
  backup full format '$DIR_BAK/UNDOTBS1_2_%d_%s_%p.bak' datafile 2;
  ……
  release channel t1;
  }


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

  4.restore备份文件:

  run {
  allocate channel t1 type disk;
  restore datafile 2;
  releasechannel t1;
  }


  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的时候一个都不能少! 收起
银行 · 2009-03-13
浏览980
myciciy myciciy 联盟成员 IT顾问 某金融科技公司
 三、利用data guard迁移:  用dg我们不仅可以用来做容灾,物理的dg我们还可以作为迁移的方式。  操作方法:可见http://www.oracleblog.cn/study-note/dg-created-by-rman/或者http://www.oracleblog.cn/study-n ... le-by-one-datafile/或者其他相关网文。注意switch ov...显示全部
 三、利用data guard迁移:

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

  操作方法:可见http://www.oracleblog.cn/study-note/dg-created-by-rman/或者http://www.oracleblog.cn/study-n ... le-by-one-datafile/或者其他相关网文。注意switch over之后,可以将dg拆掉,去掉log_archive_dest_2、FAL_SERVER、FAL_CLIENT、standby_file_management参数。另外还要注意如果用rman做dg,注意手工添加tempfile。

  优缺点:优点是停机时间短,停机时间为switch over的时间。缺点:主机必须双份、存储必须双份。 收起
银行 · 2009-03-13
浏览1030
myciciy myciciy 联盟成员 IT顾问 某金融科技公司
二、存储迁移:  这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。  操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的...显示全部
二、存储迁移:

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

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

  优缺点:优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba只需配合即可,停机时间为当库、切存储、起库的时间。缺点是要求新老库都是同一平台,是相同的数据库版本。 收起
银行 · 2009-03-13
浏览995
myciciy myciciy 联盟成员 IT顾问 某金融科技公司
 一、exp/imp:  这也算是最常用最简单的方法了,一般是基于应用的owner级做导出导入。  操作方法为:在新库建立好owner和表空间,停老库的应用,在老库做exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,传dmp文件到新库,在新库做imp user/pwd fromu...显示全部
 一、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的时间。 收起
银行 · 2009-03-13
浏览982

    提问者

    myciciy
    IT顾问 某金融科技公司
    擅长领域: 服务器存储灾备
    评论8907

    相关问题

    相关资料

    相关文章

    问题状态

  • 发布时间:2009-03-13
  • 关注会员:0 人
  • 问题浏览:18288
  • 最近回答:2011-01-27
  • X社区推广