CRS管理维护
1.CRS相关的接口命令
CRS在10G RAC体系下有着举足轻重的作用。Oracle也提供了一些命令接口让我们诊断维护它。
<1>CRS_*
10G RAC下,有这么几组crs_命令维护CRS资源。
crs_getperm crs_profile crs_register crs_relocate crs_setperm crs_start crs_stat crs_stop crs_unregister
下面分别讲述一下它们。
集群资源查询:CRS_STAT
可以用来查看RAC中各节点上resources的运行状况,Resources的属性等。
例如使用-t选项,检查资源状态:
Name Type Target State Host
------------------------------------------------------------
ora.demo.db application ONLINE ONLINE rac2
ora....o1.inst application ONLINE ONLINE rac1
ora....o2.inst application ONLINE ONLINE rac2
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
利于-p选项,获得资源配置属性。
NAME=ora.rac2.vip
TYPE=application
ACTION_SCRIPT=/opt/oracle/product/10.2.0/crs_1/bin/racgwrap
ACTIVE_PLACEMENT=1
AUTO_START=1
CHECK_INTERVAL=60
DESCRIPTION=CRS application for VIP on a node
…………………………………………
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=192.168.18.112
利用-p参数,获得资源权限。
ora.rac1.vip root oinstall rwxr-xr--
ora.rac2.vip root oinstall rwxr-xr--
主要参数有-t/-v/-p/-ls/-f等。具体可以参见crs_stat –h
集群资源启动/停止CRS_START/CRS_STOP
这组命令主要负责各个节点上resources的启动/停止。可以针对全局资源(例如:crs_stop –all,表示停止所有节点上的resources),也可以针对节点上的某个特定的资源(例如:crs_start ora.rac2.ons,表示启动节点rac2上的ONS)。
集群资源配置CRS_REGISTER/CRS_UNREGISTER/CRS_PROFILE/CRS_SETPERM
这组命令主要负责集群资源的添加删除以及配置。
CRS_PROFILE:用来生成resource的profile文件(当然我们也可以手动编辑或者通过现有生成),默认存放路径$ORA_CRS_HOME/crs/profile目录下,加参数-dir 手动指定目录。默认名称为resource_name.cap.
crs_profile -create resource_name -t application –a .. –r .. –o..
表3.1为 crs_profile中参数配置说明(比较多,挑一些说吧):
参数名称 | 说明 | 参数指令(以create为例) |
NAME | 资源名称 | crs_profile –create resource_name |
TYPE | 资源类型(application, generic) | crs_profile – create resource_name –t … |
ACTION_SCRIPT | 用来管理HA方案脚本 | crs_profile – create resource_name –a … |
ACTIVE_PLACEMENT | 资源贮存的位置/节点 | crs_profile –create resource_name –o –ap … |
AUTO_START | 资源自启动 | crs_profile –create resource_name –o –as … |
CHECK_INTERVAL | 资源监控间隔 | crs_profile –create resource_name –o –ci … |
FAILOVER_DELAY | 资源failover的等待时间 | crs_profile –create resource_name –o –fd … |
FAILURE_INTERVAL | 资源重启尝试间隔 | crs_profile –create resource_name –o –fi … |
FAILURE_THRESHOLD | 资源重启尝试次数(最大20次) | crs_profile –create resource_name –o –ft … |
HOSTING_MEMBERS | 资源启动或者failover的首要节点选择 | crs_profile –create resource_name –h … |
PLACEMENT | 资源启动或者failover的节点选择模式(balanced,balanced,balanced) | crs_profile – create resource_name -p |
REQUIRED_RESOURCES | 当前资源所依赖的资源 | crs_profile – create resource_name -r |
RESTART_ATTEMPTS | 资源重配置之前的尝试启动次数 | crs_profile –create resource_name –o –ra … |
SCRIPT_TIMEOUT | 等待ACTION_SCRIPT的结果返回时间 | crs_profile –create resource_name –o –st … |
USR_ORA_VIP | Vip地址 | crs_profile –create vip_name -t application –a $ORA_CRS_HOME/bin/uservip –o oi=…,ov=…,on=… |
crs_profile -update resource_name … 用来更新现有profile(更新的只是profile,而并不是对已经注册到crs里面的资源属性的更改)
crs_register负责将resource的注册到OCR。注册的方法是先生成profile,然后运行
crs_register resource [-dir …]命令,同时,crs_register也具有update resource功能,具体办法可以更新resource对应的profile文件,然后运行crs_register -u resource_name [-dir …] 或者直接发布crs_register –update resource_name …
比如,我将rac节点上的vip改为手动启动。
[root@rac1 crs]# crs_stat -p ora.rac1.vip|grep AUTO_START
AUTO_START=0
crs_unregister负责将resource从ocr中移除。必要时候需要加-f参数。
crs_setperm用来设置resource的权限(诸如设置owner,用户的读写权限等),更改owner用-o参数,更改group用-g,更改用户权限用-u,在此不多举例了。
<2>.CRSCTL
用crsctl check crs,检查crs的健康情况。
CSS appears healthy
CRS appears healthy
EVM appears healthy
用crsctl控制CRS服务
crsctl start|stop|enable|disable crs
用crsctl启动/停止resource
Stopping resources.
Successfully stopped CRS resources
[root@rac1 ~]# crsctl start resources
Starting resources.
Successfully started CRS resources
用crsctl检查以及添加、删除voting disk
下面讲述。
更多参见crsctl help。
<3>SRVCTL
SRVCTL是一个强大的CRS和RDBMS的管理配置工具。相关用法参照srvctl -h
(1) srvctl add/delete .. 添加删除资源。譬如我们在进行数据库单实例迁移到rac的时候,可以用这个工具手工注册database或者asm实例到OCR。
(2) srvctl status … 资源的状态监测
(3) srvctl start/stop … 资源的启动/停止,这个可以和crs_start/crs_stop互交使用。
(4) srvctl modify .. 重新定义资源的属性
………………………………………………………..
2.OCR的管理维护
<1> OCR的状态验证:
可以使用ocrcheck工具来验证OCR的状态以及空间使用情况。在Lunix下,/etc/oracle/ocr.loc文件记录了OCR使用的设备情况。
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 497896
Used space (kbytes) : 3996
Available space (kbytes) : 493900
ID : 958197763
Device/File Name : /dev/raw/raw5
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
<2> 在线添加/删除ocrmirror
OCR支持一个镜像,添加/删除镜像可以在线完成,主要在某个online的节点上执行命令即可。
[root@rac1 oracle]# cat /etc/oracle/ocr.loc
#Device/file getting replaced by device /dev/raw/raw5
ocrconfig_loc=/dev/raw/raw1
ocrmirrorconfig_loc=/dev/raw/raw5
可见,ocr.loc被自动更新。
移除ocr或者镜像的时候,只要不带路径,即可。
当一个crs中存在ocr和镜像的时候,如果移除ocr,镜像会自动转变成ocr的角色。
[root@rac1]# cat /etc/oracle/ocr.loc
#Device/file /dev/raw/raw1 being deleted
ocrconfig_loc=/dev/raw/raw5
可以看到现在的ocrconfig_loc自动变为先前的ocrmirrorconfig_loc设备。
<3> 逻辑备份/恢复
备份命令:
ocrconfig –export [ path ]
还原命令
ocrconfig –import [ path ]
还原OCR的时候,需要停掉各节点crs服务。还原完成后,重新启动CRS。(如果有必要,注意在每个节点分别修改ocr.loc的对应使用设备)
<4> 物理备份/恢复
CRSD负责每4个小时进行一次OCR的备份,默认备份路径在$ORA_CRS_HOME/cdate/crs下,
可以使用ocrConfig –showbackup查看备份情况,如果想更改物理备份路径,可以使用ocrconfig –backuploc [ path ] 来完成
物理恢复命令:
ocrconfig –restore [ path ]
同样,还原OCR的时候,需要停掉各节点crs服务。还原完成后,重新启动CRS。(如果有必要,注意在每个节点分别修改ocr.loc的对应使用设备)
<5> ocrdump
ocrdump可以将ocr信息导出成ascii文本,用于给Oracle Supoort提供检修。
命令如下:
ocrdump
(3).Voting disk管理维护
Voting disk的维护相对简单些。
<1> Votingdisk 状态查询
0. 0 /dev/raw/raw2
located 1 votedisk(s).
<2>在线添加、删除votingdisk
Oracle建议配置奇数个votingdisk,添加/删除可以在线完成,在某个online的节点上执行命令即可。
添加votingdisk命令:
删除votingdisk命令:
<3>votingdisk备份恢复
备份、恢复采用dd命令。恢复的时候,注意停掉各节点上的CRS服务。