物化视图 VS 导出/导入 逻辑数据迁移

    物化视图迁移的所需停机时间远远小于EXP/IMP的时间。在利用EXP/IMP进行迁移的时候,很头痛的一个问题就是导入、导出的速度。即使采用10g的新功能数据泵EXPDP/IMPDP,速度仍然是导出、导入工具的一个比较致命的缺点。几百G的数据库采用EXP/IMPEXPDP/IMPDP方式,停机时间很可能会超过1天, 这对于很多系统都是无法接受的。而对于物化视图迁移而言,这就是最大的优势之一。首先要说的是,物化视图迁移方式并不能明显的缩短所需的总时间。但是由于 物化视图可以进行快速刷新,因此,可以把完全刷新的步骤放在停机之前进行,这样只需要在停机的时候进行一次快速刷新就可以了,极大的缩短了大数据量数据库 的迁移时间。
   
物化视图迁移和EXP都属于逻辑迁移:但是EXP方式很难对表的逻辑结构进行修改。如果提前创建表,并使用IGNORE=Y的方式,可以修改表的物理存储结果,如改变表空间,改变表的分区方式等;如果在EXP的时候指定QUERY参数,可以导出表中的部分记录,但是这种方式使用方式很有限,只能针对个别的表,否则就要求QUERY语句中的WHERE条件对导出所涉及的所有表都生效,对于大部分的情况,这是很难做到的。如果要改变逻辑结果,使用EXP就非常困难了,如果添加新的列还好一些,如果要去掉一些列,用EXP的方式基本上不太可能。而上面提到的所有的修改,对于物化视图方式来说都不是困难的事情,物化视图方式可以轻松的修改基表的结构,创建物化视图也可以指定行和列。
   
当然,物化视图迁移方式也不是尽善尽美的,这种方式也存在很多的缺点,比如跨版本的bug问题,如果刨除bug不谈,那么物化视图迁移方式至少会面临以下问题:
   
首先,物化视图迁移是表和数据的迁移,而EXP则是数据库中所有对象的迁移,因此使用物化视图迁移方式,必须手工处理索引、约束、过程、触发器、对象、序列、同义词、视图、数据库链以及对象的授权。对于一个大型数据库环境,这些要手工处理这些工作,工作量可想而知。一个相对简单的处理方法是,物化视图与EXP/IMP配合使用,通过EXP导出所有的对象,只是不包含表中的记录,表中的记录通过物化视图的功能进行同步。不过这样还需要在物化视图同步之后,检查两个数据库中所有对象的是否一致,避免丢失源环境中EXP之后做出的修改。总而言之,使用物化视图迁移方式,迁移的复杂程度要远远超过使用EXP的方式。
   
其次,物化视图迁移对表结构有一定的要求。首先,为了保证迁移后目标数据库中仍然是表,不会变成物化视图,必须采用ON PREBUILT方式建立物化视图。而这种方式建立的物化视图必须是基于主键的,这就要求基表必须包括主键。对于不包括主键的表,是没有办法采用物化视图方式进行迁移的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26277071/viewspace-713377/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26277071/viewspace-713377/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值