Oracle高可用迁移升级场景与实战(二)

        本文重点讨论跨操作系统平台场景下利用Oracle自身特征的迁移升级手法,不涉及跨字符集转换,不涉及成熟的第三方迁移

工具,同平台请参考

Oracle高可用迁移升级场景与实战(一)

         一般来说,跨平台迁移相对于同平台迁移在停机时间和可控性上有着更严格的要求。核心的方法也无外乎快速的一致迁移

和增量同步等几种方法。

 

1. 数据库整体一致迁移  

         逻辑导入导出是最常见的整体一致迁移办法。比如传统的exp/imp,该办法是处理该类迁移工程的最简单办法,但却是高可

用环境中不太适用的办法。在异构平台迁移中,利用transport tablespace往往可以将我们的停机时间大大压缩。

         从10g开始transport tablespace支持在不同操作系统平台下迁移,例如(windows->linux,hp_ux->aix,aix->linux等)。使用

transport tablespace需要注意字节顺序问题,同字节顺序的OS平台不需要涉及数据文件的格式转换(比如Windows<->Linux),可

以直接追加使用。不同字节顺序OS平台(例如Unix->Linux/windows)需要利用rman或者其他方式进行数据文件格式转换。

        使用transport tablespace需要注意自包含检验和一些限制条件检验,这些都需要在实施之前详细测试。该种迁移方法

停机时间相对比传统的exp/imp和数据泵迁移要快的多,但停机时间视数据库容量和主机IO性能决定。

       

2. 增量更新

       
     在Oracle中增量更新的办法有很多,比如基于trigger的高级复制技术以及基于日志挖掘的Streams技术等。采用增量更

新进行数据库迁移最鲜明的特点就是极其短暂的停机维护窗口。

        Streams是异构平台迁移的强有力工具;一般的迁移并不涉及多源多向的数据流向整合问题,不会涉及到数据的逻辑冲突,

因此相比于其后期维护的不稳定性和复杂性,利用Streams进行纯粹的数据迁移并不是一件复杂的事情。

        使用streams需要注意表中逻辑记录的唯一性问题,需要注意streams对数据类型的限制问题以及对流迁移过程中无法处理

的数据库对象的迁移问题等。

        高级复制,比如物化视图技术,也可以作为异构平台的一种迁移方式,它通过内部trigger的方式增量触发数据来实现数据

的快速刷新。个人认为这种方式操作上相对繁琐,并且无法实现schema级别的复制,并且对数据源端有相当的性能压力。具体案

例可以参考之前的一次实际迁移—– 利用prebuild MV快速迁移跨平台数据库实施及其总结

bookmark

相关文章 随机文章

Leave a comment

Your comment