OracleRAC -- OCR理解

Oracle RAC -- OCR理解

一、概念与原理

1.什么是OCR

OCR存储了所有与集群,RAC数据库相关的配置信息。并且这种配置信息都是公用的交由多个节点进行共享。所以OCR会存放在共享磁盘上。

2.OCR包含了哪些内容

节点成员信息

数据库实例,节点,以及其他映射关系

资源配置信息

ASM信息

Oracle集群中相关进程的信息

3.OCR的特点

因为需要被多个节点所共享,所以OCR需要存放在共享存储上面。支持单盘或者镜像的方式存放。大小通常低于1.5G。

在Oracle10G中,OCR所支持存放在裸设备,ocfs,nfs及gfs文件系统。在Oracle11G中可以直接存放在ASM上。

整个集群以及RAC数据库的配置都需要在OCR中进行。

OCR磁盘最多只能有两个,一个是Primary OCR,一个是Mirror OCR,两个磁盘互为镜像保证高可用。

4.工作原理

OCR是存放在共享存储中的,所以在整个集群中每个节点都通过本地的OCR进程去访问OCR缓存在其内存中维护着的一个副本。

同时为了保证OCR的完整性,Oracle不允许所有节点都能直接操作OCR,只有一个进程可以对OCR进行修改,这个进程被称为OCR Master。这个进程负责刷新自己本地的OCR cache以及集群中其他节点的OCR cache。换个方式说,每个节点的OCR客户端查询的都是本地的OCR缓存,当这个节点需要对OCR进行一些修改的时候他们将通过本地的OCR进程与OCR Master进程进行交互来实现自己的修改。

5.OCR存储内容

OCR中存储的内容也是常规的键值对的形式,整个OCR的信息是树形结构,有3个分支,SYSTEM,DATABASE,CRS。使用ocrdump命令对其进行导出或者指定参数进行指定分支导出。

6.OCR的健忘问题

所谓的健忘就是当一个节点更新了OCR上的部分信息,比如新加了一块磁盘。其他节点因为重启或者别的故障原因导致无法将信息及时收到,这样就造成了故障节点不知道OCR已经被更改。这个情况就被称为健忘。

二、OCR的管理和维护

从上面说的来看OCR对于整个RAC起到了至关重要的作用,一旦OCR被破坏整个集群便会出现启动异常的问题,那么维护好这个OCR也就变得尤为重要。

1)查看集群版本

[grid@orcl1 bin]$ crsctl query crs activeversion

Oracle Clusterware active version on the cluster is [19.0.0.0.0]

2)OCR健康状态检查——ocrcheck

#用于检查OCR内容的一致性,直接执行即可不需要参数

[grid@rac1 bin]$ pwd
/oracle/app/19.3.0/grid/bin
[grid@rac1 bin]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
     Version                  :          4
     Total space (kbytes)     :     491684
     Used space (kbytes)      :      84248
     Available space (kbytes) :     407436
     ID                       :  603202924
     Device/File Name         :      +DATA
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

     Cluster registry integrity check succeeded

     Logical corruption check bypassed due to non-privileged user

执行这个命令的同时也会生成一个日志文件,具体内容如下

[grid@rac1 client]$ pwd
/oracle/app/19.3.0/grid/log/rac1/client
[grid@rac1 client]$ ll ocrcheck_*

3)OCR内容查看 ocrdump

直接执行会在当前目录下生成OCRDUMPFILE文件。也可以指定一些参数按需求输出。

stdout 直接把内容输出到屏幕上,不生成文件

Filename 把内容输出到指定文件(“ocrdump 1.txt”)

keyname 只打印指定键及其子键内容

xml 以xml格式输出

[grid@rac1 ~]$ ocrdump

[grid@rac1 ~]$ cat OCRDUMPFILE

4)OCR配置 ocrconfig

手动备份ocr

##需要使用root

[root@rac1 bin]# pwd
/oracle/app/19.3.0/grid/bin
[root@rac1 bin]# ./ocrconfig -manualbackup

rac1     2022/03/21 12:39:21     +DATA:/rac/OCRBACKUP/backup_20220321_123921.ocr.278.1099917561     724960844   

查看ocr备份,正常自动备份4小时进行一次

[grid@rac1 bin]$ pwd
/oracle/app/19.3.0/grid/bin

[grid@rac1 bin]$ ./ocrconfig -showbackup

5)OCR修复——ocrconfig -repair

##用来解决健忘症

[grid@rac1 bin]$ pwd
/oracle/app/19.3.0/grid/bin

ocrconfig -repair ocr device_name        #修复primary ocr

ocrconfig -repair ocrmirror device_name            #修复mirror ocr

6)OCR移除——ocrconfig -replace

ocrconfig -replace ocr

ocrconfig -replace ocrmirror

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值