Oracle Clusterware由2部分组成,分别是Voting Disk和 OCR。

Voting Disk里面记录着节点成员的信息。

如RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。Voting Disk必须存放在共享存储上,通常来说是存放在裸设备(字符设备)上。

Voting Disk主要为了在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。为了保证Voting Disk的安全,需要配置多个Voting Disk,Voting disk使用的是一种“多数可用算法”。当有多个Voting  disk时,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。Oracle建议Voting Disk的个数应该为奇数个,如 1、3、5个,每个Voting Disk的大小约为20MB。

维护Voting Disk

注意:对Voting Disk的更改必须用root来进行,添加或删除Voting Disk都必须在crs资源关闭的情况下进行,同时即使在CRS关闭情况下仍然需要使用-force参数

查看Voting Disk

备份Voting Disk 
#dd if=/dev/raw/raw2 f=/home/oracle/voting_disk.bak

恢复Voting Disk 
#dd if=/home/oracle/voting_disk.bak f=/dev/raw/raw2

-----------------------------------------------------------------------

OCR:oracle集群注册(oracle cluster register) 负责维护整个集群的配置信息,包括RAC以及Clusterware资源,包括的信息有节点成员、数据库、实例、服务、监听器、应用程序等。为了解决集群 的“健忘”问题,整个集群会有一份配置OCR,最多两分OCR,一个primary OCR和一个mirror OCR互为镜像,以防OCR的单点故障。

ORACLE 把集群的配置文件放在共享存储上叫做OCR DISK。 节点通过OCR Process读写OCR。 但只有一个节点能够读写OCR DISK 叫OCR Master节点,其它节点通过本节点的OCR process 向master node的OCR process提交请求,由master OCR Process完成物理读写,并同步所有节点OCR cache中的内容。就OCR而言,每个集群都会有一个Master节点,这个节点一半来说是集群中生存时间最长的那个节点(生存时间最长也就意味着该节 点越稳定)。

我们在安装Clusterware的在选择OCR的存储位置时,如果选择"Normal Redundancy",则会存储两份相互镜像的OCR。如果选择"External Redundancy"则表明存储本身已经坐了冗余配置,不需要创建镜像OCR。该位置会记录在/etc/oracle/ocr.loc(Linux)或 /var/opt/oracle/ocr.loc(Solaris)中。

OCR存储的配置信息是以目录树的形式来记录一系列“键-值”对应信息 的。OCR记录着 CRS进程管理资源的所有配置信息,大小约为100MB。OCR key:有3个大分支,分别是SYSTEM.css,DATABASE 和CRS。每个分支下面又有许多小分支。这些记录的信息只能由root用户修改。

由于 OCR的信息十分重要,Oracle会每4小时队其做一次备份,并且保留最后的3个备份,以及前一天、前一周的最后一个备份。这个备份由Master Node的CRSD进程完成,备份的默认位置为$CRS_HOME/crs/cdata/<cluster_name>目录下。每次备份后, 备份文件的名字会自动变更,以反映备份时间顺序,最近一次备份叫做backup00.ocr。建议DBA除了在本地保留这些备份外,还应在其他存储设备上 保留一份备份,以防止意外的存储故障。

----------------------------------------------------------------------------

Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。

(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。

(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。

总结一下,这两种类型的设备的根本区别在于它们是否可以被随机访问。字符设备只能顺序读取,块设备可以随机读取。

参考资料:http://czmmiao.iteye.com/blog/1758360

Vote Disk 和 OCR概述的更多相关文章

  1. Maste Note for OCR / Vote disk Maintenance Operations (ADD/REMOVE/REPLACE/MOVE)

    Doc ID 428681.1 Applies to: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.1.0 [R ...

  2. OCR/Vote disk 维护操作: (添加/删除/替换/移动) (文档 ID 1674859.1)

    适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 ...

  3. oracle rac理解和用途扩展

    Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...

  4. dd命令简单易用,例如

    dd命令简单易用,例如 bs单位,count为写入的范围区间,例如以下举例: 例:使用dd清除vote disk和ocr(裸设备)  $dd if=/dev/zero of=/dev/rrac_ocr ...

  5. 10gR2-11gR1,11gR2如何干净的清除并重建OCR和表决磁盘

    下面分别讨论10gR2-11gR1和11gR2干净的清除并重建OCR和表决磁盘的方法. 一.10gR2-11gR1干净的清除并重建OCR和表决磁盘的方法 参考METALINK文章:ID 399482. ...

  6. RAC OCR盘故障导致的集群重启恢复

    一.事故说明 最近出现了一次OCR盘的故障导致Oracle集群件宕机的事故,后以独占模式启动集群,并使用ocr备份恢复了OCR文件以及重新设置了vote disk,然后关闭集群,重启成功. 因此在此处 ...

  7. OCR 维护 crsd.log

    ###########sample 1 OCR corruption messages are reported in crsd.log, automatic OCR backup is failin ...

  8. Oracle RAC OCR 和 VotingDisk 的备份与恢复

    一:Voting DiskVoting Disk 这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除.Voting disk使用的是 ...

  9. 重新配置ocr voting

    由于存储空间不足,下线的数据库需要把存储空间腾出来,关闭集群资源,主机工程师收回lun需要(包括ocr 和 voting data 磁盘组),新的应用需要上线需要新的数据库,新的hitach存储到位需 ...

随机推荐

  1. HTTP报头:通用报头,请求报头,响应报头和实体报头

    缓存控制优先级从高到低分别是Pragma -> Cache-Control -> Expires 报头 每一个报头都是由 [名称 + ":" + 空格 + 值 + ] ...

  2. VS2010 C++编译报错LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    查找是否有两个cvtres.exe.一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Wi ...

  3. php 5.2.17 升级到5.3.29

    修改php.ini配置文件 register_globals =On include_path = ".;d:/testoa/webroot" error_reporting = ...

  4. 浅谈fhq_treap

    \(BST\) 二叉查找树,首先它是一颗二叉树,其次它里面每个点都满足以该点左儿子为根的子树里结点的值都小于自己的值,以该点右儿子为根的子树里结点的值都大于自己的值.如果不进行修改,每次查询都是\(O ...

  5. 码出高效,阿里巴巴JAVA开发手册1.4.0

    码出高效,阿里巴巴JAVA开发手册1.4.0阅读笔记 一.编程规约(三) 代码格式// 关键词if与括号之间必须有一个空格,括号内的f与左括号,0与右括号不需要空格 if (flag == 0) { ...

  6. android自定义tabhost,tabcontent用intent获得

    地址:http://my.oschina.net/aowu/blog/36282 自己改的自定义tabhost组建,效果图如左.有更好的朋友可以相互交流一下,嘿嘿. 1.先上AndroidManife ...

  7. 2013-7-28 802.11n帧聚合

    芯片开发阶段的帧聚合迥异于商用AP,前者更偏向实现过程,后者偏向结果.也就是说用户在使用商用设备时不会管你特性是如何实现的,他们只关心效果,开启这个功能能否实实在在的提高AP的吞吐量. 网上搜索了众多 ...

  8. 十二、jdk工具之jcmd介绍(堆转储、堆分析、获取系统信息、查看堆外内存)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  9. poj 3069 Saruman's Army(贪心)

    Saruman's Army Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Tot ...

  10. Centos7安装docker(转!)

    时间在自己的运动中也会碰到挫折,遇到障碍,所以某一段时间也会滞留在哪一个房间里 <百年孤独> 转自:https://www.cnblogs.com/yufeng218/p/8370670. ...