日期:2014-05-16 浏览次数:20757 次
集群层
集群层是指由Clusterware组成的核心集群, 这一层负责维护集群内的共享设备,并为应用集群提供完整的集群状态视图,应用集群依据这个视图进行调整。这一层共有4个命令:crsctl, ocrcheck,ocrdump,ocrconfig.后三个是针对OCR磁盘的。
Crsctl
Crsctl命令可以用来检查CRS进程栈,每个crs进程状态,管理Votedisk,跟踪CRS进程功能。 
[root@rac1 bin]# ./crsctl
3.1.1 检查crs状态
[root@rac1 bin]# ./crsctl check crs 
Cluster Synchronization Services appears healthy
Cluster Ready Services appears healthy
Event Manager appears healthy 
–检查单个状态 
[root@rac1 bin]# ./crsctl check cssd 
CSS appears healthy 
[root@rac1 bin]# ./crsctl check crsd 
CRS appears healthy 
[root@rac1 bin]# ./crsctl check evmd 
EVM appears healthy
3.1.2 配置crs栈是否自启动
CRS进程栈默认随着操作系统的启动而自启动,有时出于维护目的需要关闭这个特性,可以用root用户执行下面命令。 
[root@rac1 bin]# ./crsctl disable crs 
[root@rac1 bin]# ./crsctl enable crs 
这个命令实际是修改了/etc/oracle/scls_scr/raw/root/crsstart这个文件里的内容。
3.1.3 启动,停止crs栈
Oracle在10.1时,必须通过重新启动系统重启Clusterware,但是从Oracle 10.2开始,可以通过命令来启动和停止CRS。 
–启动CRS: 
[root@rac1 bin]# ./crsctl start crs
Attempting to start CRS stack 
The CRS stack will be started shortly 
–关闭CRS: 
[root@rac1 bin]# ./crsctl stop crs 
Stopping resources. 
Successfully stopped CRS resources 
Stopping CSSD. 
Shutting down CSS daemon. 
Shutdown request successfully issued.
3.1.4 查看votedisk磁盘位置
[root@rac1 bin]# ./crsctl query css votedisk
3.1.5 查看和修改crs参数
–查看参数:用get 
[root@rac1 bin]# ./crsctl get css misscount 
60 
–修改参数: 用set,但是这个功能要慎用 
[root@rac1 bin]# ./crsctl set css miscount 60
3.1.6 跟踪crs模块,提供辅助功能
CRS由CRS,CSS,EVM三个服务组成,每个服务又是由一系列module组成,crsctl允许对每个module进行跟踪,并把跟踪内容记录到日志中。 
[root@rac1 bin]# ./crsctl lsmodules css 
[root@rac1 bin]# ./crsctl lsmodules evm 
–跟踪CSSD模块,需要root用户执行: 
[root@rac1 bin]# ./crsctl debug log css "CSSD:1" 
Configuration parameter trace is now set to 1. 
Set CRSD Debug Module: CSSD Level: 1 
–查看跟踪日志 
[root@rac1 cssd]# pwd 
/u01/app/oracle/product/crs/log/rac1/cssd 
[root@rac1 cssd]# more ocssd.log 
…
3.1.7 维护votedisk
以图形方式安装Clusterware的过程中,在配置Votedisk时,如果选择External Redundancy策略,则只能填写一个Votedisk。但是即使使用External Redundancy作为冗余策略,也可以添加多个Vodedisk,只是必须通过crsctl命令来添加,添加多个Votedisk后,这些Votedisk互为镜像,可以防止Votedisk的单点故障。 
需要注意的是,Votedisk使用的是一种“多数可用算法”,如果有多个Votedisk,,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。这点和OCR不一样。OCR只需配置一个。 
添加和删除Votedisk的操作比较危险,必须停止数据库,停止ASM,停止CRS Stack后操作,并且操作时必须使用-force参数。 
1) 查看当前配置 
[root@rac1 bin]# ./crsctl query css votedisk 
2) 停止所有节点的CRS: 
[root@rac1 bin]# ./crsctl stop crs 
3) 添加Votedisk 
[root@rac1 bin]# ./crsctl add css votedisk /dev/raw/rac1 -force 
注意:即使在CRS关闭后,也必须通过-force参数来添加和删除Votedisk,并且-force参数只有在CRS关闭的场合下使用才安全,否则会报:Cluter is not a ready state for online disk addition. 
4) 确认添加后的情况: 
[root@rac1 bin]# ./crsctl query css votedisk 
5) 启动CRS 
[root@rac1 bin]# ./crsctl start crs
3.2 ocr命令系列
Oracle Clusterware把整个集群的配置信息放在共享存储上,这个存储就是OCR Disk.在整个集群中,只有一个节点能对OCR Disk进行读写操作,这个节点叫作Master Node,所有节点都会在内存中保留一份OCR的拷贝,同时哟一个OCR Process从这个内存中读取内容。OCR内容发生改变时,由Master Node的OCR Process负责同步到其他节点的OCR Process。 
因为OCR的内容如此重要,Oracle每4个小时对其做一次备份,并且保留最后的3个备份,以及前一天,前一周的最后一个备份。这个备份由Master Node CRSD进程完成,备份的默认位置是$CRS_HOME\crs\cdata\<cluster_name>目录下。每次备份后,备份文件名自动更改,以反应备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。
3.2.1 ocrdump
该命令能以ASCII的方式打印出OCR的内容,但是这个命令不能用作OCR的备份恢复,也就是说产生的文件只能用作阅读,而不能用于恢复。 
命令格式:ocrdump [-stdout] [filename] [-keyname name] [-xml] 
参数说明: 
-stdout:把内容打印输出到屏幕上 
Filename:内容输出到文件中 
-keyname:只打印某个键及其子健内容 
-xml:以xml格式打印输出
示例:把system.css键的内容以.xml格式打印输出到屏幕 
[root@rac1 bin]#./ocrdump -stdout -keyname system.css -xml|more 
…… 
这个命令在执行过程中,会在$CRS