前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用crs_profile管理RAC资源配置文件

使用crs_profile管理RAC资源配置文件

作者头像
Leshami
发布2018-08-14 10:41:28
4500
发布2018-08-14 10:41:28
举报
文章被收录于专栏:乐沙弥的世界

    profile通常指配置文件,crs_profile望文生义可知,就是管理集群的配置文件。在Oraclele RAC中,所有的CRS资源存放在OCR磁盘中,对于OCR更形象的比喻是类似于Windows的注册表。我们知道Windows注册表由类似树状的节点构成,其形式是KEY-VALUE,集群中的资源也是如此。Windows注册表可以整个导出,分支导出,也可以导入注册表信息。针对集群资源的管理crs_profile结合crs_register与crs_unregisterd等同于一个类似于Windows的regedit 管理工具。这么说就不陌生了吧,接着往下看。

一、crs_profile的帮助信息   对于Oracle clusterware大部分集群命令行工具而言,都提供丰富的操作指导。命令行下直接输入crs_profile将给出帮助信息 oracle@bo2dbp:~> crs_profile Usage:  crs_profile -create resource_name -t application           [-dir directory_path] [-a action_script] [-B binary_pathname]           [-d description] [-h hosting_members] [-r required_resources]           [-l optional_resources] [-p placement_policy]           [-o as=auto_start,ci=check_interval,ft=failure_threshold,           fi=failure_interval,ra=restart_attempts,fd=failover_delay,           st=script_timeout,ap=active_placement,bt=rebalance,           ut=uptime_threshold,rt=start_timeout,pt=stop_timeout] [-f] [-q]

        crs_profile -create resource_name -I template_file [-dir directory_path] [-f] [-q]

        crs_profile -delete resource_name [-dir directory_path] [-q]

        crs_profile -print [resource_name [...]] [-dir directory_path] [-q]

        crs_profile -template resource_name [-dir directory_path] [-O template_file]

        crs_profile -template -t application [-O template_file]

        crs_profile -update resource_name [-dir directory_path] [option ...] [-o option,...] [-q]

        crs_profile -validate resource_name [-dir directory_path] [-q]

二、使用crs_profile操作集群资源

代码语言:javascript
复制
1、查看当前集群中的资源
#使用crs_stat查看集群中含srv的配置信息
oracle@bo2dbp:~> crs_stat -p | grep srv
NAME=ora.GOBO4.GOBO4_SRV.GOBO4A.srv
NAME=ora.ora10g.hr_ora10g.ora10g1.srv
DESCRIPTION=ora.ora10g.hr_ora10g.ora10g1.srv

#使用crs_stat查看集群的service服务当前处于online状态
oracle@bo2dbp:~> crs_stat -t | grep srv
ora....O4A.srv application    ONLINE    ONLINE    bo2dbp      
ora....0g1.srv application    ONLINE    ONLINE    bo2dbp  

2、使用crs_profile导出指定的集群资源信息到文件        
oracle@bo2dbp:~> crs_profile -create ora.ora10g.hr_ora10g.ora10g1.srv -t application #导出到缺省路径
oracle@bo2dbp:~> crs_profile -create ora.ora10g.hr_ora10g.ora10g1.srv -t application -dir /users/oracle #导出到指定路径

oracle@bo2dbp:~> ls -hltr ora.ora10g.hr_ora10g.ora10g1.srv*
-rw-r--r-- 1 oracle oinstall 820 2012-11-07 17:34 ora.ora10g.hr_ora10g.ora10g1.srv.cap
oracle@bo2dbp:~> ls -hltr $ORA_CRS_HOME/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv*  #此处是缺省路径
-rw-r--r-- 1 oracle oinstall 833 2012-11-07 17:29 /u01/oracle/crs/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv.cap

3、 查看已导出的资源配置文件的信息
oracle@bo2dbp:~> crs_profile -print ora.ora10g.hr_ora10g.ora10g1.srv #未指定路径的时候print缺省路径的内容
NAME=ora.ora10g.hr_ora10g.ora10g1.srv
TYPE=application
ACTION_SCRIPT=/u01/oracle/crs/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv.scr
ACTIVE_PLACEMENT=0
AUTO_START=restore
CHECK_INTERVAL=60
DESCRIPTION=ora.ora10g.hr_ora10g.ora10g1.srv
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=
OPTIONAL_RESOURCES=
PLACEMENT=balanced
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=1
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=

4、资源配置文件中常用子项说明
 参数名称     说明                    参数指令(以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的节点选择模式   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=…

5、删除已导出的资源配置文件
oracle@bo2dbp:~> crs_profile -delete ora.ora10g.hr_ora10g.ora10g1.srv -dir /users/oracle
oracle@bo2dbp:~> crs_profile -print ora.ora10g.hr_ora10g.ora10g1.srv -dir /users/oracle #再次查看时提示配置文件不存在
CRS-0181: Cannot access the resource profile 'ora.ora10g.hr_ora10g.ora10g1.srv'.

6、更新资源配置文件中的项
oracle@bo2dbp:~> crs_profile -update ora.ora10g.hr_ora10g.ora10g1.srv -o as=never  #此处更新资源配置文件中的AUTO_START项
oracle@bo2dbp:~> crs_profile -print ora.ora10g.hr_ora10g.ora10g1.srv
NAME=ora.ora10g.hr_ora10g.ora10g1.srv
TYPE=application
ACTION_SCRIPT=/u01/oracle/crs/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv.scr
ACTIVE_PLACEMENT=0
AUTO_START=never  #此时,此项已经由原来的restore变成never
CHECK_INTERVAL=60
DESCRIPTION=ora.ora10g.hr_ora10g.ora10g1.srv
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=
OPTIONAL_RESOURCES=
PLACEMENT=balanced
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=1
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=

#AUTO_START的值也可以用0,1,2来表示,其中0 等同always, 1 等同restore, 2 等同never 

7、验证资源配置文件的正确性
oracle@bo2dbp:~> crs_profile -validate ora.ora10g.hr_ora10g.ora10g1.srv

#下面尝试将AUTO_START项值改为3
oracle@bo2dbp:~> vi $ORA_CRS_HOME/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv.cap

oracle@bo2dbp:~> crs_profile -print ora.ora10g.hr_ora10g.ora10g1.srv | grep AUTO_START
AUTO_START=3

#下面验证的时候产生了错误
oracle@bo2dbp:~> crs_profile -validate ora.ora10g.hr_ora10g.ora10g1.srv  
Error: AUTO_START invalid: 3 
CRS-0180: Resource '/u01/oracle/crs/crs/public/ora.ora10g.hr_ora10g.ora10g1.srv.cap' validation failed.

#再次使用update参数更新配置文件
oracle@bo2dbp:~> crs_profile -update ora.ora10g.hr_ora10g.ora10g1.srv -o as=1
oracle@bo2dbp:~> crs_profile -print ora.ora10g.hr_ora10g.ora10g1.srv | grep AUTO_START
AUTO_START=1
oracle@bo2dbp:~> crs_profile -validate ora.ora10g.hr_ora10g.ora10g1.srv  #此处验证成功

8、导出资源配置模板
#下面导出指定资源模板
oracle@bo2dbp:~> crs_profile -template ora.ora10g.hr_ora10g.ora10g1.srv
oracle@bo2dbp:~> ls -hltr *temp*
-rw-r--r-- 1 oracle oinstall 700 2012-11-07 18:27 template.cap

#可以看到下面的模板配置文件中包含了指定资源所需的所有子项,有些子项不需要的则其值为空
oracle@bo2dbp:~> more template.cap
NAME=
TYPE=application
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=60
DESCRIPTION=
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=
OPTIONAL_RESOURCES=
PLACEMENT=balanced
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=1
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=

#导出所有application的资源配置通用模板
oracle@bo2dbp:~> crs_profile -template -t application -O tmplate.cap
oracle@bo2dbp:~> ls -hltr *.cap
-rw-r--r-- 1 oracle oinstall 700 2012-11-07 18:27 template.cap
-rw-r--r-- 1 oracle oinstall 706 2012-11-07 18:32 tmplate.cap
#Author : Robinson
#Blog   : http://blog.csdn.net/robinson_0612

三、总结 crs_profile是用于管理OCR配置文件中资源的工具,可以对application等资源进行导出以实现备份,以及导出后进行更新,查看等。 对于其更新之后的新的配置文件可以使用crs_register工具将其注册到OCR。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012年11月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档