- 浏览: 4368975 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
Voting Disk
概述
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的更多内容,看参阅笔者的如下博客
http://czmmiao.iteye.com/blog/1577531
维护Voting Disk
注意:对Voting Disk的更改必须用root来进行,添加或删除Voting Disk都必须在crs资源关闭的情况下进行,同时即使在CRS关闭情况下仍然需要使用-force参数
查看Voting Disk
# ./crsctl query css votedisk
0. 0 /dev/raw/raw2
备份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
添加和删除Voting Disk
# raw -qa
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 33
/dev/raw/raw3: bound to major 8, minor 58
# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
# ./crsctl add css votedisk /dev/raw/raw4 -force
Now formatting voting disk: /dev/raw/raw4
CLSFMT returned with error [4].
failed 9 to initailize votedisk /dev/raw/raw4.
# ./crsctl add css votedisk /dev/raw/raw3 -force
Now formatting voting disk: /dev/raw/raw3
successful addition of votedisk /dev/raw/raw3.
# ./crsctl query css votedisk
0. 0 /dev/raw/raw2
1. 0 /dev/raw/raw4
2. 0 /dev/raw/raw3
located 3 votedisk(s).
# ls -l /dev/raw/raw*
crw-rw---- 1 oracle oinstall 162, 1 Jan 1 20:19 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 Jan 1 20:18 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 3 Jan 1 20:22 /dev/raw/raw3
-rw-r--r-- 1 root root 10240000 Jan 1 20:18 /dev/raw/raw4
可以看到在没有/dev/raw/raw4设备的情况下执行添加voting disk命令时,报错并在/dev/raw/目录下创建了raw4文件,我们必须删除该文件
# ./crsctl delete css votedisk /dev/raw/raw4 -force
successful deletion of votedisk /dev/raw/raw4.
# ls -l /dev/raw/raw*
crw-rw---- 1 oracle oinstall 162, 1 Jan 1 20:34 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 Jan 1 20:18 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 3 Jan 1 20:22 /dev/raw/raw3
-rw-r--r-- 1 root root 10240000 Jan 1 20:18 /dev/raw/raw4
# rm -f /dev/raw/raw4
# ./crsctl query css votedisk
0. 0 /dev/raw/raw2
1. 0 /dev/raw/raw3
located 2 votedisk(s).
OCR概述
OCR 负责维护整个集群的配置信息,包括RAC以及Clusterware资源,包括的信息有节点成员、数据库、实例、服务、监听器、应用程序等。为了解决集群 的“健忘”问题,整个集群会有一份配置OCR,最多两分OCR,一个primary OCR和一个mirror OCR互为镜像,以防OCR的单点故障。关于“健忘”可以参阅笔者的
http://czmmiao.iteye.com/admin/blogs/1629166
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除了在本地保留这些备份外,还应在其他存储设备上
保留一份备份,以防止意外的存储故障。
ocrdump
如果想阅读ocr信息,可以使用ocrdump命令将OCR的内容以ASCII的方式打印出,但是这个命令不能用作OCR的备份恢复,只能用作阅读,
命令格式:ocrdump [-stdout] [filename] [-keyname name] [-xml]
参数说明:
-stdout:把内容打印输出到屏幕上
Filename:内容输出到文件中
-keyname:只打印某个键及其子健内容
-xml:以xml格式打印输出
示例:把system.css键的内容以.xml格式打印输出到屏幕
#./ocrdump -stdout -keyname SYSTEM.css -xml|more
这个命令在执行过程中,会在$CRS_HOME\log\<node_name>\client目录下产生日志文件,文件名ocrdump_<pid>.log,如果命令执行出现问题,可以从这个日志查看问题原因。
ocrcheck
Ocrcheck命令用于检查OCR内容的一致性,命令执行过程会在$CRS_HOME\log\nodename\client目录下产生ocrcheck_<pid>.log日志文件。 这个命令不需要参数。
#./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 163668
Used space (kbytes) : 4348
Available space (kbytes) : 159320
ID : 1345945283
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
ocrconfig
查看自动备份信息
#./ocrconfig -help
$ ocrconfig -showbackup
czmmiao2 2012/12/26 17:26:16 /u01/app/oracle/product/10.2.0/db_1/cdata/crs
czmmiao2 2012/12/18 21:12:37 /u01/app/oracle/product/10.2.0/db_1/cdata/crs
czmmiao1 2012/12/16 21:54:20 /u01/app/oracle/product/10.2.0/db_1/cdata/crs
czmmiao2 2012/12/26 17:26:16 /u01/app/oracle/product/10.2.0/db_1/cdata/crs
czmmiao2 2012/12/26 17:26:16 /u01/app/oracle/product/10.2.0/db_1/cdata/crs
$ ls -l /u01/app/oracle/product/10.2.0/db_1/cdata/crs
total 29880
-rw-r--r-- 1 root root 5083136 Dec 7 16:05 backup00.ocr
-rw-r--r-- 1 root root 5083136 Nov 27 19:14 backup01.ocr
-rw-r--r-- 1 oracle dba 5083136 Nov 26 22:32 backup02.ocr
-rw-r--r-- 1 oracle dba 5083136 Nov 26 22:32 day.ocr
-rw-r--r-- 1 oracle oinstall 22084 Jan 1 20:52 OCRDUMPFILE
-rw-r--r-- 1 root root 5083136 Dec 16 21:54 temp.ocr
-rw-r--r-- 1 oracle dba 5083136 Nov 26 22:32 week.ocr
使用导出,导入进行备份和恢复
Oracle推荐在对集群做调整时,比如增加,删除节点之前,应该对OCR做一个备份,可以使用export备份到指定文件,如果做了replace或者restore等操作,Oracle建议使用cluvfy comp ocr -n all命令来做一次全面的检查。
# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
# ./ocrconfig -export ocrexp.exp #导出ocr
# ls -l ocrexp.exp
-rw-r--r-- 1 root root 102935 Jan 1 21:17 ocrexp.exp
# ./crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly
# dd if=/dev/zero of=/dev/raw/raw1 bs=1M #破坏ocr
dd: writing `/dev/raw/raw1': No space left on device
160+0 records in
159+0 records out
167685120 bytes (168 MB) copied, 18.0218 seconds, 9.3 MB/s
# ./ocrcheck
PROT-601: Failed to initialize ocrcheck
# ./runcluvfy.sh comp ocr -n all
Verifying OCR integrity
Unable to retrieve nodelist from Oracle clusterware.
Verification cannot proceed.
# ./ocrconfig -import ocrexp.exp
#导入ocr
# ./ocrcheck
# ./runcluvfy.sh comp ocr -n all
移动和删除OCR
移动OCR时,不能直接修改OCR,必须要先添加镜像才能修改,否则会报错
# ./ocrconfig -replace ocr /dev/raw/raw3
PROT-1: Failed to initialize ocrconfig
# ./ocrconfig -replace ocrmirror /dev/raw/raw3 #创建镜像ocr
# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 163668
Used space (kbytes) : 4344
Available space (kbytes) : 159324
ID : 38625139
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw3
Device/File integrity check succeeded
Cluster registry integrity check succeeded
# cat /etc/oracle/ocr.loc
#Device/file /dev/raw/raw3 getting replaced by device /dev/raw/raw3
ocrconfig_loc=/dev/raw/raw1
ocrmirrorconfig_loc=/dev/raw/raw3
# ./ocrconfig -replace ocr /dev/raw/raw4
#修改primary ocr位置
# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 163668
Used space (kbytes) : 4344
Available space (kbytes) : 159324
ID : 38625139
Device/File Name : /dev/raw/raw4
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw3
Device/File integrity check succeeded
Cluster registry integrity check succeeded
# ./ocrconfig -replace ocrmirror #删除镜像ocr
# cat /etc/oracle/ocr.loc
#Device/file /dev/raw/raw3 being deleted
ocrconfig_loc=/dev/raw/raw4
参考至:《大话Oracle RAC》张晓明著
http://blog.csdn.net/inthirties/article/details/5431368
http://blog.csdn.net/tianlesoftware/article/details/6049378
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
发表评论
-
Duplicate a Database Using RMAN in Oracle Database 11g Release 2
2016-11-03 15:38 934Duplicate a Database Using RMA ... -
grid control 安装总结 (三)之EMD upload error: uploadXMLFiles skipped或忘记OMS密码
2014-11-17 17:16 2766[oracle@anbob agent10g]$ bin/e ... -
Grid Control服务端看不到Agent相关信息,同时OMS状态为unknown处理
2014-11-17 17:14 2142一次Grid Control的agent是启动的,但是在GC ... -
给11gR2 RAC添加LISTENER监听器并静态注册
2014-10-22 17:52 3146之前有同学想要给11gR2的RAC添加LISTENER监听器 ... -
HOW TO REMOVE CRS AUTO START AND RESTART FOR A RAC INSTANCE
2014-10-12 20:08 1457Subject: HOW TO REMOVE CRS AU ... -
How To Enable Archive Logging In RAC Environment [ID 1186764.1]
2014-10-12 19:45 1008How To Enable Archive Logging ... -
Oracle 11g RAC使用Manual和Policy Managed方法配置
2014-10-12 17:25 8847软件环境: 操作系统:Red Hat Enterpris ... -
Moving OCR and Voting Disk to Oracle ASM Online
2014-10-12 16:35 2620Prior Oracle 11gR2, it was only ... -
Oracle 11g R2的启动与关闭(原创)
2014-10-10 15:04 27177概述 Oracle 11gR2 中对CRSD资源进行了重新 ... -
重新配置与卸载11gR2 Grid Infrastructure
2014-10-10 08:24 2285概述Oracle 11g R2 Grid Infrastru ... -
Data Guard Broker Properties
2014-10-07 16:15 959Data Guard Broker Properties ... -
Data Guard - Snapshot Standby Database配置
2014-10-07 07:39 928概述一般情况下,物理standby数据库处于mount状态 ... -
Active Data Guard
2014-10-06 19:27 865Oracle Active Data Guard is a ... -
Data Guard Broker系列之六:Fast-Start Failover
2014-10-06 18:29 3060Fast-Start Failover 基本概念 Fa ... -
Data Guard Broker系列之五:数据库角色转换
2014-10-06 18:28 1220数据库转换的基本概 ... -
Data Guard Broker系列之四:数据库管理
2014-10-06 18:27 1188数据库状态管理 数据 ... -
Data Guard Broker系列之三:Data Guard Broker配置管理
2014-10-06 16:56 1255配置data guard broker配置文件基本参数 ... -
Data Guard Broker系列之二:Data Guard Broker配置实战
2014-10-05 16:16 1569配置之前DG环境状态 测试的DG环境安装在同一个机器上, ... -
Data Guard broker系列之一:Data Guard Broker基础
2014-10-05 16:13 2265Data Guard broker概览 Data ... -
Dataguard切换保护模式(从MAXIMUM PERFORMANCE 到 maximize availability)
2014-10-05 14:52 12341. 首先查看主库当前保护模式(主库操作)SQL> s ...
相关推荐
Oracle RAC 11gR2日常维护管理之OCR和 VotingDisk维护
Oracle 10G RAC下OCR和Voting disk的管理
在Oracle 11g里,RAC架构发生了很大变化,重建OCR和Voting Disk的方法也不同。这文档以案例方式做了很牛逼的详细整理!
NULL 博文链接:https://askerain.iteye.com/blog/2295536
Oracle RAC 资料收集日常基本维护命令
一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的。 如果他们没有启动,RAC 肯定是启动不了的。
十三、配置裸设备以存放OCR、Voting Disk 十四、安装asm 软件包、创建ASM 磁盘 十五、安装clusterware 软件 十六、升级clusterware 软件 十七、安装oracle 软件 十八、升级oracle 软件 十九、创建RAC 监听 二十、...
13.5.4 管理voting disk 13.5.5 管理OCR 13.5.6 快速卸载CRS 13.6 ASM基本操作维护 13.6.1 ASM的特点 13.6.2 ASM的体系结构与后台进程 13.6.3 管理ASM实例 13.7 利用srvctl管理RAC数据库 13.7.1 ...
目录 文档控制 ii 1 RAC故障模拟测试 1 测试环境 1 系统测试类型 1 1.1 重启单个RAC 节点模拟测试 3 1.2 网络故障模拟测试 4 1.2.1 公用网络故障模拟测试 4 1.2.2 Inter-connect...1.3.5 Voting Disk故障模拟测试 21