管理 Oracle Cluster Registry(OCR)
oracle的clusterware包含两个重要组件:OCR(包含本地组件OLR)和voting disks
--OCR管理oracle clusterware和oracle rac数据库的配置信息
--OLR位于每个节点本地,管理着本地节点的clusterware配置信息
--voting disks管理成员关系信息。每个voting disk都必须能被集群中的所有节点访问。
在12C中,必须将OCR和voting disks中放在asm中(12c不支持块设备和裸设备;12.2不再支持其他共享文件系统)。
(11g文档是这么写的:必须将ocr和voting disk放在asm中,或者放在经过认证的集群文件系统中)
11.2中,oracle oui不支持裸设备、块设备。但是如果是从之前版本升级上来的,可以继续支持块设备、裸设备。oracle肯定是建议使用asm。
为了增加可用性,oracle建议配置多个voting disks文件。如果是使用了asm磁盘组。asm会确保voting disks被配置成了normal冗余或high冗余。如果是使用其他共享文件系统,需要手动指定多份设置。
不需要停掉集群的情况下,可以动态添加、替换voting disks。
管理OCR和OLR的工具有ocrconfig、ocrdump、ocrcheck
OLR和OCR类似,只是位于集群中节点的本地,包含特定节点的配置信息。OLR包含clusterware的可管理信息,如不同服务之间的依赖关系,OHAS需要使用这些信息。OLR默认存放路径是grid_home/cdata/host_name.olr。
1.迁移OCR到asm
如果是从11.2之前升级到11.2,asm磁盘兼容性必须设置>=11.2;
如果是从12c之前升级到12c,asm磁盘兼容性必须设置>=11.2.0.2。
(1)查看当前运行版本
$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
(2)在所有节点上启动asm
(3)将ocr增加到asm磁盘组
# ocrconfig -add +new_disk_group
OCR会继承磁盘组的冗余性!
(4)移除之前的存储配置
# ocrconfig -delete old_storage_location
2.从asm迁移到其他共享存储类型
(1)查看当前运行版本
$ crsctl query crs activeversion
(2)添加新的文件作为ocr存放的位置
# ocrconfig -add file_location
(3)移除原先的asm配置
# ocrconfig -delete +asm_disk_group
3.增加一个OCR Location
# ocrconfig -add +asm_disk_group | file_name
4.移除一个OCR Location
# ocrconfig -delete +asm_disk_group | file_name
5.替换OCR位置
(1)首先检查一下
$ ocrcheck
$ crsctl check crs
(2)替换OCR位置
# ocrconfig -replace current_ocr_location -replacement new_ocr_location
如果只有一个ocr位置,只有先添加后删除
# ocrconfig -add new_ocr_location
# ocrconfig -delete current_ocr_location
6.本地节点修复OCR
如果集群在节点关闭之后发生了培训变更,而该节点是集群的唯一节点,在启动该节点前就要进行OCR修复了。
修复OCR包含增加、删除、替换OCR。例如:
# ocrconfig -repair -add /dev/sde1
# ocrconfig -repair -replace current_ocr_location -repalcement target_ocr_location
7.重载OCR
OCR具有防止数据丢失的机制。如果配置了多份镜像的OCR,当clusterware无法访问镜像OCR位置,也不能确定当前可以访问的OCR位置是否包含最新的配置信息的时候,clusterware会阻止对当前可以访问的OCR的修改。
此外,进程也会阻止该节点上的clusterware的启动。clusterware和数据库的alert日志都会受到报警信息。如果这个问题只是发生在某个节点,可以从其它节点启动集群数据库。
如果集群中的任何节点都没法启动,用户可以选择修复OCR或者还原OCR。如果修复或还原都不行,还可以选择重载OCR。重载OCR需要重载所有的OCR,不过这种情况可能会导致部分信息丢失。
修复就用ocrconfig -repair。如果要重载orc,使用命令ocrconfig -overwirte。
在重载OCR之前,应该先进行尝试OCR修复。
8.备份OCR
(1)自动备份
clusterware每隔四小时自动备份OCR文件。且会保留最近的三份OCR。由CRSD进行备份。此外,crsd还会做每天和每周一次备份。备份频率和保留期限是不可以调整的。
(2)手动备份
ocrconfig -manualbackup执行备份。OLR只是支持手动备份。
(3)查看备份
$ ocrconfig -showbackup
db2 2017/09/03 14:32:04 /u01/app/11.2.0/grid/cdata/oradb-cluster/backup00.ocr
db2 2017/09/03 10:32:03 /u01/app/11.2.0/grid/cdata/oradb-cluster/backup01.ocr
db2 2017/09/03 06:32:03 /u01/app/11.2.0/grid/cdata/oradb-cluster/backup02.ocr
db2 2017/09/02 02:32:00 /u01/app/11.2.0/grid/cdata/oradb-cluster/day.ocr
db2 2017/08/26 06:32:31 /u01/app/11.2.0/grid/cdata/oradb-cluster/week.ocr
(4)修改备份路径
# ocrconfig -backuploc file_name (指定备份路径)
9.还原OCR
如果没有放在asm中:
(1)查看列出节点
# olsnodes
(2)关闭clusterware
# crsctl stop crs
如果关不了,可以强制关闭
# crsctl stop crs -f
(3)(如果是放在集群文件或者网络文件系统)还原OCR
# ocrconfig -restore file_name
(4)启动clusterware
# crsctl start crs
如果是asm,要完成以下步骤:
(1)查看列出节点
# olsnodes
(2)关闭clusterware
# crsctl stop crs
如果关不了,可以强制关闭
# crsctl stop crs -f
(3)启动clusterware
只在某个节点执行,以exclusive模式启动
# crsctl start crs -excl -nocrs
忽略启动过程中产生的错误信息。
(4)检查crsd进程是否运行
$ crsclt stat res ora.crsd -init
如果运行,要关闭掉crsd进程
# crsctl stop resource ora.crsd -init
(5)把asm磁盘组mount到本地。如果本地无法mount,先把asm中的磁盘组先drop掉。
SQL> drop diskgroup disk_group_name force including contents;
(6)还原OCR
# ocrconfig -restore file_name
(7)再次检查OCR
# ocrcheck
(8)关闭clusterware
# crsctl stop crs -f
(9)剩余节点修复OCR
使用ocrconfig -repair -replace命令逐一执行
(10)启动clusterware
# crsctl start crs
(11)验证
$ cluvfy comp ocr -n all -verbose Verifying OCR Integrity ...PASSED Verification of OCR integrity was successful. CVU operation performed: OCR integrity
Date: Sep 3, 2017 3:41:01 PM
CVU home: /u01/app/12.2.0/grid/
User: grid
OCR问题诊断
诊断工具有ocrdump、ocrcheck
除了自动备份的OCR文件,也可以将OCR内容export和import,但是需要关闭才能获得一致性结果。
ocrconfig -restore和ocrconfig -manualbackup命令使用的ocr文件格式是兼容的;ocrconfig -export和ocrconfig -import命令使用的ocr文件格式是兼容的。但是这前后两者却是不兼容的。
import OCR(linux平台)
(1)列出所有集群节点
$ olsnodes
(2)停止clusterware
# crsctl stop crs
如果不能正常关闭,可以强制关闭
# crsctl stop crs -f
(3)在其中一个节点,以排他模式启动clusterware
# crsctl start crs -excl
忽略启动过程中的报错信息
检查crsd进程是否运行,如果运行要关闭它
# crsctl stop resource ora.crsd -init
(4)import OCR
# ocrconfig -import file_name
如果导入的是集群文件系统或网络文件系统,直接到步骤7
(5)验证OCR的完整性
# ocrcheck
(6)关闭clusterware
# crsctl stop crs -f
(7)再次启动 clusterware
# crsctl start crs
(8)验证在集群所有节点上的OCR完整性
$ cluvfy comp ocr -n all -version
Oracle Local Registry(OLR)
可以使用ocrcheck、ocrdump、ocrconfig加上参数-local来管理OLR
1.检查OLR的状态
# ocrcheck -local
Status of Oracle Local Registry is as follows :
Version : 4
Total space (kbytes) : 409568
Used space (kbytes) : 1060
Available space (kbytes) : 408508
ID : 1941521711
Device/File Name : /u01/app/12.2.0/grid/cdata/db12c1.olr
Device/File integrity check succeeded Local registry integrity check succeeded Logical corruption check succeeded 2.dump出OLR的内容
# ocrdump -local 3.导入导出OLR的内容
# ocrconfig –local –export file_name
# ocrconfig –local –import file_name 4.手动备份OLR
# ocrconfig –local –manualbackup 5.还原OLR
# crsctl stop crs
# ocrconfig -local -restore file_name
# ocrcheck -local
# crsctl start crs
$ cluvfy comp olr
管理 Oracle Cluster Registry(OCR)的更多相关文章
- Failed to upgrade Oracle Cluster Registry configuration(root.sh)
近期在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware运行/u01/app/crs/root.sh时收到错误提示.Failed to upgra ...
- Oracle Cluster Registry Location to be Added is not Accessible
APPLIES TO: Oracle Server - Enterprise Edition - Version 11.2.0.1 and laterInformation in this docum ...
- Oracle 10g RAC OCR、Voting disk更换
环境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:更换存储,OCR.Voting disk同时需要更换到新存储. 1.替换OCR 2.替换voting disk 1.替换OCR ...
- Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复
Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和Voting D ...
- INS-20802 Oracle Cluster Verification Utility failed解释说明
背景:安装RAC,安装GI集群管理软件时,在最后快结束时,总是报如上INS-错误 #官方文档:error 说明;字符串解析失败 INS-20802: string failed. Cause: The ...
- 管理oracle 11g RAC 常用命令
1).检查集群状态: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: ...
- oracle11g之管理oracle数据库笔记(理论基础知识)
第三章 管理oracle数据库 1.启动数据库步骤;(创建启动实例--> ...
- Oracle 11g RAC OCR 与 db_unique_name 配置关系 说明
一. 问题一 在做RAC standby 的alert log里发现如下错误: SUCCESS: diskgroup DATA was mounted ERROR: failed toestablis ...
- 【C/C++学院】(24)Oracle数据库编程--管理oracle
一.启动和停止oracle 停止和启动oracle须要切换到oracle用户才干够,其它用户都没有权限启动和停止oracle(包含root也没有权限). 1.执行sqlplus但不登录到oracle: ...
随机推荐
- POJ 2377 Bad Cowtractors (Kruskal)
题意:给出一个图,求出其中的最大生成树= =如果无法产生树,输出-1. 思路:将边权降序再Kruskal,再检查一下是否只有一棵树即可,即根节点只有一个 #include <cstdio> ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- Spring bean加载多个配置文件
除了写很简单的加载一个xml,加载多个的情况一直没用到,在公司里也不会由自己处理这个问题,现在需要用到了,就研究验证一下. 使用的案例还是上面的例子. 只有,将原来的beans.xml分成两个部分. ...
- HDU 2222 Keywords Search (AC自动机)(模板题)
<题目链接> 题目大意: 给你一些单词,和一个字符串,问你这个字符串中含有多少个上面的单词. 解题分析: 这是多模匹配问题,如果用KMP的话,对每一个单词,都跑一遍KMP,那么当单词数量非 ...
- 前端解读控制反转(IOC)
前言 随着前端承担的职责越来越重,前端应用向着复杂化.规模化的方向发展.大型项目模块化是一种趋势,不可避免模块之间要相互依赖,此外还有很多第三方包.这样的话如何去管理这些繁杂的文件,是一个不可避免的话 ...
- 关于文档模式、DCOTYPE声明及严格模式
1.文档模式 文档模式的概念是由IE5.5引入,通过使用文档类型(DOCTYPE)切换实现的.不同的文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScr ...
- Sql Server 修改表所属用户
Sql Server 修改表所属用户 exec sp_changeobjectowner 'tablename','dbo' tablename--所要修改的表明 dbo--是表所属的用户,默认是db ...
- Windows 文件名的书写规范
下面是不能用于文件名的: / \ : * " < > | windows系统下文件名长度为: 255个英文字符(DOS下8.3格式),包括文件名和扩展名在内,或者是255/2=1 ...
- (netty宝贵知识)
例子:https://segmentfault.com/a/1190000013122610?utm_source=tag-newest#articleHeader0 netty官方文档http:// ...
- .NetCore中EFCore的使用整理
EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术. 其中的.NetCore版本对应EntityFrameworkCore Git源代码地址:https://git ...