本节分2部分,该部分介绍CRS管理维护,下部分介绍RAC下的RDBMS管理维护
三 RAC管理维护 同Single instance相比,RAC的管理维护要复杂一些。10g给我们提供了一个强大的EM管理工具,将很多管理维护工作简单和界面化。我们也应当习惯使用EM来高效的完成更多的工作。本文以下部分,将暂不讨论EM方面的管理,着重于命令行方式。 1.CRS管理维护 (1).CRS相关的接口命令 CRS在10G RAC体系下有着举足轻重的作用。Oracle也提供了一些命令接口让我们诊断维护它。 <1>CRS_* 10G RAC下,有这么几组crs_命令维护CRS资源。
[root@rac2 bin]# ls $ORA_CRS_HOME/bin|grep "crs_"|grep -v bin crs_getperm crs_profile crs_register crs_relocate crs_setperm crs_start crs_stat crs_stop crs_unregister下面分别讲述一下它们。
集群资源查询:CRS_STAT
可以用来查看RAC中各节点上resources的运行状况,Resources的属性等。
例如使用-t选项,检查资源状态:
[root@rac1 ~]# crs_stat –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选项,获得资源配置属性。
[root@rac2 bin]# crs_stat -p ora.rac2.vip 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参数,获得资源权限。
[root@rac2 bin]# crs_stat -ls|grep vip 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_register -update ora.rac1.vip -o as=0 [root@rac1 crs]# crs_stat -p ora.rac1.vip|grep AUTO_START AUTO_START=0crs_unregister负责将resource从ocr中移除。必要时候需要加-f参数。
crs_setperm用来设置resource的权限(诸如设置owner,用户的读写权限等),更改owner用-o参数,更改group用-g,更改用户权限用-u,在此不多举例了。
<2>.CRSCTL
用crsctl check crs,检查crs的健康情况。
[root@rac1 ~]# crsctl check crs CSS appears healthy CRS appears healthy EVM appears healthy用crsctl控制CRS服务
crsctl start|stop|enable|disable crs
用crsctl启动/停止resource
[root@rac1 ~]# crsctl stop resources 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使用的设备情况。
[root@rac1]# ocrcheck 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]#ocrconfig -replace ocrmirror /dev/raw/raw5 [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]# ocrconfig -replace 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 状态查询
[root@rac1]# crsctl query css votedisk 0. 0 /dev/raw/raw2 located 1 votedisk(s).<2>在线添加、删除votingdisk
Oracle建议配置奇数个votingdisk,添加/删除可以在线完成,在某个online的节点上执行命令即可。
添加votingdisk命令:
crsctl add css votedisk [path] -force删除votingdisk命令:
crsctl add css votedisk [path] -force<3>votingdisk备份恢复
备份、恢复采用dd命令。恢复的时候,注意停掉各节点上的CRS服务。
相关资源:基于Linux的Oracle 10G RAC管理维护手记.pdf