RAC下的REDO和UNDO管理

网友投稿 280 2022-08-24

RAC下的REDO和UNDO管理

如果对Oracle的redo和undo比较了解的话,就会知道这两个的重要性了,通过这两个重要的部分,Oracle保证体系的安全性,数据恢复和事务都是他们的主要目的。 在RAC的环境下,Redo管理同单实例的系统一样,每个节点实例都需要至少2组logfile。各节点实例有自己独立的重做日志线程(由初始化参数thread定义),例如: SQL> select b.THREAD#,a.GROUP#,a.STATUS,a.MEMBER,b.BYTES,b.ARCHIVED,b.STATUS from v$logfile a,v$log b where a.GROUP#=b.GROUP#; THREAD# GROUP# STATUS MEMBER BYTES ARCHIVED STATUS ------------------- ------- -------------------------------------------------- 1 1 STALE +ORADATA/inth/onlinelog/group_1.257.660614753 52428800 YES INACTIVE 1 2 +ORADATA/inth/onlinelog/group_2.258.660614755 52428800 NO CURRENT 2 3 +ORADATA/inth/onlinelog/group_3.265.660615545 52428800 NO CURRENT 2 4 STALE +ORADATA/inth/onlinelog/group_4.266.660615543 52428800 YES INACTIVE 每个RAC的节点都有自己各自的log file group,相互分开,虽然每个实例各自独立的redo log file但是还是需要部署到共享存储中,必须保证可被所有的集群内的节点实例访问。当某个节点实例进行实例/介质恢复的时候,该节点上的实例将可以应用集群下所有节点实例上的重做日志文件(如果需要),从而保证恢复可以在任意可用节点进行。 在RAC环境下,当我们运行alter system switch logfile的时候,仅仅对当前的节点上的相应的current redo thread进行日志切换并归档,并不作用于其他的节点 但是对于alter system archive log current命令则有些差异,当运行altere system archive log current的时候,则是对所有的可用节点作用,所有节点实例上的redo thread进行切换并归档到归档文件里。 如果节点是不可用的,但是其redo log一样在共享储存里,所以一样可以作用到。 对于undo,我们看到上面的介绍以后,也可以想象的到他的处理,对,和redo log一样,每个实例都有各自的undo段,可以用过XXX.undo_tablespace来指定。同样,虽然各自独立,但是考虑到整个CRS都需要他们进行一致性读和恢复的需要,这些undo也是存储在共享区域的。只有这样,当莫个节点crash以后,不在线或者不可用,但是其undo段一样可以被其他的节点使用,从而保证一致性读和可恢复性。 以上仅是有关redo和udno在RAC环境下的基础知识,随着对RAC的研究,我们有深入的地方以后再总结。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:不吹不黑,瑞幸其实是家新品营销公司!(瑞幸口碑营销)
下一篇:RAC里建立用户等效性
相关文章

 发表评论

暂时没有评论,来抢沙发吧~