您现在的位置是:首页 >

数据库迁移需要注意的问题 Oracle数据库迁移几种方式

火烧 2022-12-11 08:10:20 1075
Oracle数据库迁移几种方式 我们常常需要对数据进行迁移 迁移到更加高级的主机上 迁移到远程的机房上 迁移到不同的平台下……   一 ex /im   这也算是最常用最简单的方法了 一般是基于应用的
数据库迁移需要注意的问题 Oracle数据库迁移几种方式

Oracle数据库迁移几种方式  

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

  一 exp/imp

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

  操作方法为 在新库建立好owner和表空间 停老库的应用 在老库做exp user/pwd owner=XXX file=exp_xxx dmp log=exp_xxx log buffer= 传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我们还可以作为迁移的方式

  操作方法 可见或者e datafile/或者其他相关网文 注意switch over之后 可以将dg拆掉 去掉log_archive_dest_ FAL_SERVER FAL_CLIENT standby_file_management参数 另外还要注意如果用rman做dg 注意手工添加tempfile

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

  四 用rman做迁移

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

  操作方法

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

   backup数据库

  在一次周末的课程试验中 频繁的看到 Data file init write 等待事件

  在这里做一点记录说明 以下是来自跟踪文件的记录信息

   以下是引用片段   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=   WAIT # : nam= Data file init write  ela=   count=  intr=  timeout=  obj#=  tim=

  测试数据库是Oracle g 实际上这个等待事件也是从Oracle g开始引入的 用来标识表空间或数据文件扩展时的等待

  Oracle 需要将系统块格式化为Oracle数据块 然后才能提供数据库使用

  在这个流程处理中 Oracle经过如下三个步骤

   扩展数据文件

  select file# from file$ where ts#=:

   更新用户空间限额

  update tsq$ set blocks=: maxblocks=: grantor#=: priv =: priv =: priv =: where ts#=: and user#=:

   扩展数据段

  update seg$ set type#=: blocks=: extents=: minexts=: maxexts=: extsize=: extpct=: user#=: iniexts=: lists=decode(: NULL : ) groups=decode(: NULL : ) cachehint=: hwmincr=: spare =DECODE(: NULL : ) scanhint=: where ts#=: and file#=: and block#=:

lishixinzhi/Article/program/Oracle/201311/17024  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码