设为首页 收藏本站
查看: 381|回复: 0

[经验分享] Managing Oracle Cluster Registry and Voting Disks

[复制链接]

尚未签到

发表于 2015-12-18 09:26:27 | 显示全部楼层 |阅读模式
ORACLE集群软件包含2个重要的组件来管理集群配置和节点间的关系:OCR/本地的OLR,表决磁盘。  OCR管理ORACLE集群软件和RAC数据库的配置信息。
  OLR保存在集群中的每一个节点上,用于管理每一个单独节点上的集群配置信息。
  表决磁盘管理节点间的关系。每一个表决磁盘都必须能够被集群中的全部节点访问到,以确保可以管理管理集群的成员。
  可以使用ASM或ORACLE认证的集群文件系统。
  ORACLE 集群软件第2版11.2的OUI不再支持使用裸设备或块设备。然而,如果是从以前的处理升级过来的,那么还是可以继续使用裸设备或块设备。ORACLE建设使用ASM来保存OCR和VOTING DISKS。
  ORACLE建设在安装集群软件时配置多个表决磁盘以提高系统的稳定性。如果选择使用ASM磁盘组来存储voting disks,并且使用了普通冗余或高冗余的磁盘组时,ASM可以确保配置多个voting disks。如果使用集群文件系统来存储voting disks,那么需要选择配置多个voting disks的选项,在这种情况一需要指定位于不同磁盘上的三个不同的文件系统。
  如果有需要,即使在集群已经安装完成,也可以动态的添加或替换voting disks而不需要停止集群。
  在安装完成后,如果使用CRSCTL在a raw device添加新的voting disks时,在远程节点上的新的voting disks的访问权限可能不正确。在远程节点上,检查并确认voting disks的访问权限是正确的(OWNER是GI安装用户,组是OINSTALL)。如果权限不正确,需手工进行更改。例如:
  grid@myserver>$ ls -l /dev/rhdisk18
  crwxrwxrwx  1 root  oinstall  36, 02 Feb 10 20:28 /dev/rhdisk18
  $ su root
  root@myserver> # chmod grid:oinstall /dev/rhdisk18
  # exit
  $ ls -l /dev/rhdisk18
  crwxrwxrwx  1001 grid  oinstall  36, 19 Sep 09 20:29 /dev/rhdisk18
  
  
  管理OCR和OLR
  本节说明如果使用OCRCONFIG,OCRDUMP,OCRCHECK管理OCR和OLR。
  
  OCR包含了集群中的全部ORACLE资源信息。
  OLR很像OCR,他包含了一些注册信息,并且OLR保存在集群中的每一个节点上,但OLR中的信息是与特定节点有关的。OLR包含了与集群软件有关的管理信息,这些信息有:各种服务之间的依赖关系。ORACLE高可用服务会使用这些信息。OLR保存在集群中的每一个节点的本地存储上。默认路径是:Grid_home/cdata/host_name.olr
  
  Migrating Oracle Cluster Registry to Oracle Automatic Storage Management
  为了提高集群的存储管理能力,默认情况下,11.2版本的数据库的OCR被配置在ASM中。当集群存储也放在ASM磁盘组中时,使用OEM可以同时管理数据库和集群存储。
  然而,如果是从以前的集群软件升级过来的,那还是可以将OCR迁移到ASM中,以使用集群存储管理方面的新的特性。
  如果是从以前的版本升级到11.2并且想将OCR存储在ASM磁盘组中,那么必须设置ASM Compatibility兼容性参数为11.2.0.0。
  使用OCRCONFIG将OCR迁移到ASM
  1.确认系统升级到11.2已经完成。使用以下命令验证当前的版本
  $crsctl query crs activeversion
  2.在集群中的所有节点上使用ASMCM配置并启动ASM
  3.使用ASMCA创建一个ASM磁盘组,该磁盘组可用空间至少需要与现存的OCR大小一样,并且磁盘组至少是一个普通级别的冗余。
  如果OCR存储在一个使用外部冗余级别的磁盘组中,那么ORACLE建设在另外一个磁盘组中添加另外一个OCR以防止磁盘组中的磁盘损坏导致OCR丢失。
  ORACLE不支持同时使用不同类型的存储来存放OCR,例如在非升级过程中,需要将OCR同时存放在ASM和共享文件系统中,
  
》如果任一节点上的ASM实例失败了,那么那个节点上的OCR就变的不可用。  ASM实例失败影响到的节点上的crsd进程如果是OCR writer, the majority of the OCR locations are stored in Oracle ASM,在该节点上ASM实例宕机期间又试图进行OCR的I/O操作,那么crsd将会停止并且变的不可操作。在这个节点上的集群管理现在就会受到影响。
  Under no circumstances will the failure of one Oracle ASM instance on one node affect the whole cluster.
  》确保创建的磁盘组在集群中的全部节点上已经挂载。
  4.在一个磁盘组中添加OCR,确保Oracle Clusterware stack已经运行,并且使用root用户执行以下命令:
  #ocrconfig -add +new_disk_group
  如果要添加多个OCR位置,则可以执行多次这个命令。-------OCR位置最多可以有5个。-------然而每次执行这个命令需要指向不同的磁盘组。
  5.要删除不再使用的存储配置,以root用户执行以下命令
  #ocrconfig -delete old_storage_location
  以下例子是迁移2个OCR到ORACLE ASM
  #ocrconfig -add +new_disk_group
  #ocrconfig -delete /dev/raw/raw2
  #ocrconfig -delete /dev/raw/raw2
  OCR继承了ASM磁盘组的冗余性。如果想要为OCR配置高冗余,那就需要在创建磁盘组时选择使用高冗余磁盘组。
  Migrating Oracle Cluster Registry from Oracle ASM to Other Types of Storage
  为了将OCR从ASM迁移到其他类型存储 :
  1.确保系统升级到11.2已经完成。使用以下命令检查当前运行的版本
  $crsctl query crs activeversion
  2.在共享或集群文件系统上使用以下权限创建一个文件:root,oinstall,640
  >在主要的存储位置上至少创建2个镜像以减少OCR单点故障问题。-------------OCR最多支持5个位置。
  3.确保要挂载的分区上至少有280M空间。
  4.确保要创建的文件在集群中的全部节点上都是可访问的
  5.在确认oracle clusterware stack已经运行的情况下使用root用户执行以下命令添加该文件作为一个OCR位置。
  #ocrconfig -add file_location
  如果需要添加多个OCR位置那就需要多次执行上面的命令,每次执行命令时需要指向不同的文件位置。
  6.使用root用户移除不再需要的存储位置
  #ocrconfig -delete +asm_disk_group
  如果要删除多个OCR位置需要多次执行上面的命令。
  
  
  Adding, Replacing, Repairing, and Removing Oracle Cluster Registry Locations
  oracle集群软件的安装过程中提供了自动镜像OCR的选项。可手工设置将镜像OCR共享的NFS上,或者放在oracle认证的任何集群文件系统上。可选择的:你可以将OCR放置在ASM中并且允许ASM根据ASM的冗余选项来自动创建OCR镜像。 
  可以手工镜像OCR,就像"Adding an Oracle Cluster Registry Location"描述的那样,如果你:
  》集群软件升级到11.2但在升级过程中没有选择镜像OCR
  >在集群软件安装过程中只创建了一个OCR位置
  oracle建议你配置:
  》当OCR配置在非镜像或非冗余的存储中时,至少要配置3个OCR位置。当底层存储没有使用RAID时,oracle强烈建议配置镜像OCR。镜像有助于帮忙解决OCR单点故障问题。
  》当OCR配置在ASM磁盘组中时至少配置2个OCR位置。需要将OCR配置在2个独立的磁盘组中。典型配置是:一个工作区域,一个恢复区域。
  》当OCR配置在硬件镜像或第三方镜像卷中时,至少配置2个OCR位置。
  当的原始的OCR位置不存在时,需要创建空的OCR位置,并设置正确的访问权限,这样才能执行ocrconfig -add或ocrconfig -replace命令。
  确保在OCR配置中指定的OCR设备存在并且OCR设备有效
  确保指定的ASM磁盘组存在并且已经挂载。
  新的OCR文件,设备,或者磁盘组必须能够被集群中的全部节点都能访问到。
  除了镜像OCR位置外,还可以:
  》替换OCR位置:当存在配置错误或其他类型的OCR错误时,就像 "Replacing an Oracle Cluster Registry Location" section.中描述的。
  》修复OCR位置:如果OEM中出现数据库显示OCR失败告警或集群软件告警日志中也出现类似错误,就像 "Repairing an Oracle Cluster Registry Configuration on a Local Node"中描述的。
  例如,如果一个系统碰上了OCR处理上的性能下降问题,或将OCR转移到RAID存储设备上并且选择了不再使用多个OCR位置时,需要移除一个OCR位置,就像 "Removing an Oracle Cluster Registry Location" section.中描述的。
  
  
  这里的操作影响OCR:变更LINUX和UNIX系统中在ocr.loc中的OCR配置信息以及WINDOWS系统中的注册表信息。然而ocrconfig并不会修改OCR配置信息,如果:节点关闭或某些节点上的集群软件没有运行。
  Adding an Oracle Cluster Registry Location
  使用本节描述的以下过程添加一个OCR位置,--------------ORACLE集群软件可以管理最多5个冗余的OCR位置。
  如果OCR放在一个集群文件系统或NFS上,那么需要在执行本节描述的步骤之前先创建一个空的OCR位置。
  以root用户执行以下命令来添加一个ORCR位置到ASM或其他存储设备中。
  #ocrconfig -add +asm_disk_group|file_name
  在LINUX和UNIX中,必须使用root用户执行ocrconfig命令。在WINDOWS系统中,必须使用管理员组中的一个成员来执行命令。
  Removing an Oracle Cluster Registry Location
  删除一个OCR位置或失败的OCR位置,必须确保还有一个其他的OCR是在线的。可以移除一个OCR位置以减少OCR相关的额外负载,或者当移动OCR到RAID冗余存储中而需要停止OCR镜像。
  以root用户执行以下过程以从集群软件环境中移除一个OCR位置
  1.确保除了你要移除的OCR个还有至少一个OCR位置是在线的。
  2.在任一节点上执行以下命令以从ASM或其他存储位置中移除一个OCR位置。
  #ocrconfig -delete +asm_disk_group | file_name
  这里的file_name可以是一个设备名或文件名。这个命令会更新那些正在运行集群软件的节点上的OCR配置。
  Replacing an Oracle Cluster Registry Location
  如果必须更换一个现存的OCR位置,或者需要将一个失败的OCR更换到一个新的可用位置,只要剩余的OCR位置保持在线,那就可以使用以下过程进行更换。ocrconfig -replace命令至少需要2个已经配置了的OCR位置。
  To change an Oracle Cluster Registry location:
  完成以下步骤
  1.使用OCRCHECK功能检查一下,确认除了要进行替换的OCR以外还有至少一个OCR是在线的。
  $ocrcheck
  OCRCHECK显示全部已经注册的OCR位置以及他们是否在线(可用)。如果某个OCR位置突然变的不可用,那么ORACLE集群软件需要一段时间才能显示状态变化。
  要替换的OCR位置可以在线或离线。
  2.使用以下命令确认集群软件正在运行
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-152790-1-1.html 上篇帖子: oracle 对于SQL语句中对象名的解析顺序 下篇帖子: C#插入Oracle中Timestamp类型数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表