ORACLE clusterware组成

时间:2023-01-15 13:27:29
oracle cluterware是一个单独的安装包,一旦安装部署好后,每个节点上的oracle cluterware会自动启动,oracle cluterware的运行环境由两个磁盘文件,若干后台进程及网络元素组成。
 
磁盘文件
     oracle clusterware 在运行过程中需要两个文件  OCR 和VOTING DISK,这两个文件必须放在共享存储上,并且必须放置在裸设备上,每个文件100M即可,  这两个文件主要是就是针对集群软件中出现的脑裂、健忘的问题。
 
OCR
     ”健忘“问题是由于每个节点都有配置信息的拷贝,修改节点的配置信息不同步引起的,要解决健忘问题,最简单的办法就是整个集群只有一份配置,各个节点共用这份配置,无论在那个节点修改配置,都是修改相同的配置文件,这样就保证修改不会丢失,oracle采用的办法就是把这个配置文件放在共享存储上,这个文件就是OCR disk。
     
     OCR中保存整个集群的配置信息,在安装过程中会提示用户指定OCR位置,在linux中,位置记录保存在/etc/oracle/ocr.loc中,在solarise 中保存在/var/opt/oracle/ocr.loc中。
 
     因为OCR是节点的配置文件,十分重要,所以必须保证OCR内容的完整性,在oracle clusterware的运行过程中,并不是每个节点都能操作OCR disk。
 
     具体来说,每个节点在内存中都有一份备份OCR内容的拷贝,这个内存叫做OCR cache,每个节点都要有一个OCR process来读取这里面的内容,但是只有一个节点的OCR process能读写共享OCR disk中的内容,这个节点就叫做OCR master节点,这个节点的OCR process负责更新本地和其他节点的OCR cache内容。
 
     OCSSD,EVM等都叫做client process,这些进程不会直接访问OCR cache,而是想OCR process发送请求,借助OCR process获取 内容,如果想要修改OCR 的内容,也由该节点的OCR process向master node的OCR process提交请求,由MASTER process完成物理读写,并同步到各个节点。
 
Voting Disk
     voting disk这个文件主要用于记录节点中成员状态,在出现”脑裂“时,仲裁哪个node获得集群的控制权,而其他node必须从集群中剔除。
 

ORACLE clusterware组成的更多相关文章

  1. How to Modify Public Network Information including VIP in Oracle Clusterware (文档 ID 276434.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.3 to 12.1.0.2 [Release 11.2 to 12. ...

  2. oracle卸载Oracle Clusterware(转载)

    1.脚本自动删除 切换到root用户 $Su – root #cd $ORA_CRS_HOME/install 1.执行rootdelete.sh脚本 # ./rootdelete.sh 2.执行ro ...

  3. Reboot-less node fencing in Oracle Clusterware 11g Release 2

    在进行一次RAC的高可用性测试时,当private网卡的网线被拔掉之后,没有出现传说中的有一个节点被CRS强制重启,取而代之的是node2上面的ASM实例和RDBMS实例被关闭:当网线被重新插上时,n ...

  4. 【总文档】rac增加新节点的方法步骤 How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterware and RAC

    [总文档]How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterw ...

  5. How to Deinstall Oracle Clusterware Home Manually

    ###sample 0:安装GI 和DB soft 都成功,如何回退DB soft [opdb@pdbdb01:/db/db/app/db/product/11204/deinstall]$ ./de ...

  6. 为Oracle Clusterware修改公用及私有网络接口

    出于种种原因我们可能需要为已安装的Oracle集群软件修改其使用的公用或私有网络所使用的网络接口(How to Change Interconnect/Public Interface IP or S ...

  7. What is Split Brain in Oracle Clusterware and Real Application Cluster (文档 ID 1425586.1)

    In this Document   Purpose   Scope   Details   1. Clusterware layer   2. Real Application Cluster (d ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...

  9. 【翻译自mos文章】Clusterware间歇性的hang,命令报CRS-184而且Network Socket Files in /tmp/.oracle or /var/tmp/.oracle被删

    来源于: Clusterware Intermittently Hangs And Commands Fail With CRS-184 as Network Socker Files in /tmp ...

随机推荐

  1. java代码实现栈

    这几天在老家有点事,现在弄完了,继续研究一下数据结构,这次的栈并没有对多线程进行优化,如果有想优化的童鞋可以参考我上一篇文章对队列进行的优化,话不多说,上代码: package com.voole.c ...

  2. 近期C#项目中总结

    1. 读写文件操作 using (file = new System.IO.StreamReader(inputfile)) { using (outfile = new System.IO.Stre ...

  3. CentOS更新软件

    列出所有可更新的软件清单命令:yum check-update 安装所有更新软件命令:yum update 仅安装指定的软件命令:yum install <package_name> 仅更 ...

  4. &lbrack;物理学与PDEs&rsqb;第3章 磁流体力学

    [物理学与PDEs]第3章第1节 等离子体 [物理学与PDEs]第3章第2节 磁流体力学方程组 2.1 考虑到导电媒质 (等离子体) 的运动对 Maxwell 方程组的修正 [物理学与PDEs]第3章 ...

  5. js 你所不知道的一面

    你真的知道JavaScript吗 JavaScript是一门奇怪的语言,要真正掌握并不容易.废话不多说,来一个快速测试,5道题目,看看你对JavaScript是否真正掌握.准备好了吗?开始咯

  6. mybatis3:Invalid bound statement &lpar;not found&rpar;

    最近在玩ssm框架搭建,突然发现最后的时候mybaits和SpringMvc进行整合的时候出现错误 Invalid bound statement (not found) 这个错误有可能出现在以下几个 ...

  7. TIDB 备忘

    ALTER TABLE TableName MODIFY COLUMN -- 最后更新时间,自动赋值 dtModify ) NULL DEFAULT now() ON UPDATE now();

  8. DotNetBar 使用笔记

    1.删除表格的某一行数据,必须是VirtualMode  = false 的时候才生效,不然就只是灰色 SuperDBG_Right.PrimaryGrid.SetDeletedRows(SuperD ...

  9. C&num;多线程编程之:异步事件调用

    当一个事件被触发时,订阅该事件的方法将在触发该事件的线程中执行.也就是说,订阅该事件的方法在触发事件的线程中同步执行.由此,存在一个问 题:如果订阅事件的方法执行时间很长,触发事件的线程被阻塞,长时间 ...

  10. mysqli扩展库---事务控制

    1, 有一张银行账号表 create table account( id int primary key, balance float ); 2,现在有一段php程序,要完成把1号10元钱,转到2号账 ...