年关将至,工作节奏开始放缓,这才有时间静下心来学习我所酷爱的ORACLE,不得不说ORACLE的确很庞大,而围绕ORACLE 技术延伸开来的各项功能又让人如此着迷,比如说DATA GUARD,RAC,STREAMS,GRID,FLASHBACK,RMAN……等等,每部分都让人醉心不已,欲罢不能。此次实验过程中参考了人民邮电出版社出版,张晓民先生编著的《大话ORACLE RAC》一书,书中对ORACLE RAC 技术的介绍详尽细致,让我学有所获,但对于STREAMS部分的介绍却让人感觉有些仓促,大概是篇幅的限制吧,实验部分的介绍有些粗糙,以至我对照实验的时候以失败告终。我仍不死心,又从网上下载来一篇《一步一步学ORACLE STREAMS 》的文章,并全过程模拟文章中的实验环境以及实验步骤,最终成功,让人心花怒放。
《一步一步学ORACLE STREAMS》文章中是基于两个单实例搭建的STREAMS实验环境,《大话ORACLE RAC》中是以单实例和ORACLE RAC搭建的实验环境,比前者显得要复杂一些,但在具体实验步骤又没有后者详细,这让人多少有些心生遗憾。 我决定在此次实验之后花心思全面解读一下ORACLE官方出版的文档《Streams Concepts and Administration》,再进行单实例和ORACLE RAC构建的STREAMS 实验平台进行实验,不达目的誓不罢休。有一句老话说得很有道理:纸上得来终觉浅,绝知此事要躬行。尤其是对于做技术的来说,得益于互联网,我们能够学习到很多新知识,新概念, 但理论始终不如实践,人家做成功的实验,你做的时候就可能因为这样那样的原因而失败,所以亲手做实验显得极为重要,并能通过实验过程总结出很多个人的东西, 从而帮助在工作上和学习上得到意外的收获,这大概也是做技术的乐趣吧。
废话不多说,下面先引用张晓民先生在《大话ORACLE RAC》书中介绍的有关STREAMS的知识:
“读者需要先知道一个常识:Streams是ORACLE 的消息队列(也叫ORACLE ADVANCED QUEUE)技术的一种扩展应用。ORACLE的消息队列和读者已知的其他队列产品功能类似,都是通过发布/订阅的方式来解决事件管理。以消息队列为基础,可以扩出很多有趣的应用方式。流复制(Streams Replication)只是基于它的一个数据共享技术,但是也可以被用作一个可灵活定制的高可用性方案。它可以实现两个数据库之间的数据库级、schema级、table级的数据同步,并且这种同步可以是双向的。ORACLE STREAMS也是通过数据冗余来提供高可用性,这一点和DATA GUARD有点类似。但是两种技术也只有这点类似而已。”
“ORACLE高级复制(ORACLE ADVANCED QUEUE)和流复制(STREAMS REPLICATION )是从名称和功能上都很相似的两种技术,但是前者是基于触发器的,后者基于日志挖掘(Logminer)技术,不能混为一谈。”
“Stream是ORACLE ADVANDED QUEUE技术的一种扩展应用,这种技术最基本的原理就是收集事件、把事件保存在队列中,然后把这些事件发布给不同的订阅者。从DBA的角度来说,就是捕获ORACLE数据库产生的REDO日志,然后把这些日志通过网络传播到多个数据库,其他数据库通过应用这些日志达到复制变化的目的。”
介绍完这些,然后开始我参考《一步一步学ORACLE STREAMS》文档的实验全过程。
阅读(2370) | 评论(0) | 转发(1) |