[20190507]crs_stat与crsctl.txt --//管理rac,遇到问题一般首先通过crs_stat与crsctl查看资源的状况. --//10g下一般使用crs_stat ,我记忆里面好像没有crsctl命令,这个是11g才有的命令,用来取代crs_stat. --//实际上11g命令crs_stat还是存在的. --//一般加入-t命令执行如下: $ crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.DATA.dg ora....up.type ONLINE ONLINE xxyyy1 ora....ER.lsnr ora....er.type ONLINE ONLINE xxyyy1 ora....N1.lsnr ora....er.type ONLINE ONLINE xxyyy2 ora....N2.lsnr ora....er.type ONLINE ONLINE xxyyy1 ora....N3.lsnr ora....er.type ONLINE ONLINE xxyyy1 ora.OCR.dg ora....up.type ONLINE ONLINE xxyyy1 ora.asm ora.asm.type ONLINE ONLINE xxyyy1 ora.cvu ora.cvu.type ONLINE ONLINE xxyyy1 ora.xxyyy.db ora....se.type ONLINE ONLINE xxyyy1 ora....rcl.svc ora....ce.type ONLINE ONLINE xxyyy1 ora....SM1.asm application ONLINE ONLINE xxyyy1 ora....S1.lsnr application ONLINE ONLINE xxyyy1 ora.xxyyy1.gsd application OFFLINE OFFLINE ora.xxyyy1.ons application ONLINE ONLINE xxyyy1 ora.xxyyy1.vip ora....t1.type ONLINE ONLINE xxyyy1 ora....SM2.asm application ONLINE ONLINE xxyyy2 ora....S2.lsnr application ONLINE ONLINE xxyyy2 ora.xxyyy2.gsd application OFFLINE OFFLINE ora.xxyyy2.ons application ONLINE ONLINE xxyyy2 ora.xxyyy2.vip ora....t1.type ONLINE ONLINE xxyyy2 ora.gsd ora.gsd.type OFFLINE OFFLINE ora....network ora....rk.type ONLINE ONLINE xxyyy1 ora.oc4j ora.oc4j.type ONLINE ONLINE xxyyy1 ora.ons ora.ons.type ONLINE ONLINE xxyyy1 ora....ry.acfs ora....fs.type ONLINE ONLINE xxyyy1 ora.scan1.vip ora....ip.type ONLINE ONLINE xxyyy2 ora.scan2.vip ora....ip.type ONLINE ONLINE xxyyy1 ora.scan3.vip ora....ip.type ONLINE ONLINE xxyyy1 --//加入-t参数缺点是看到的name显示不全.为此网上有许多blog通过awk过滤更好的显示,我记录的脚本如下: $ cat dba_crs #!/bin/bash # # Sample 10g CRS resource status query script # # Description: # - Returns formatted version of crs_stat -t, in tabular # format, with the complete rsc names and filtering keywords # - The argument, $RSC_KEY, is optional and if passed to the script, will # limit the output to HA resources whose names match $RSC_KEY. # Requirements: # - $ORA_CRS_HOME should be set in your environment RSC_KEY=$1 #export ORA_CRS_HOME=/orahomes/CRS #export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs export ORA_CRS_HOME=/u01/app/11.2.0.4/grid QSTAT=-u AWK=/bin/awk # if not available use /usr/bin/awk # Table header:echo "" $AWK \ 'BEGIN {printf "%-45s %-10s %-18s\n", "HA Resource", "Target", "State"; printf "%-45s %-10s %-18s\n", "--------------------------------------------", "-------", "-----------------";}' # Table body: $ORACLE_HOME/bin/crs_stat $QSTAT | $AWK \ 'BEGIN { FS="="; state = 0; } $1~/NAME/ && $2~/'$RSC_KEY'/ {appname = $2; state=1}; state == 0 {next;} $1~/TARGET/ && state == 1 {apptarget = $2; state=2;} $1~/STATE/ && state == 2 {appstate = $2; state=3;} state == 3 {printf "%-45s %-10s %-18s\n", appname, apptarget, appstate; state=0;}' --//执行例子如下: $ ./dba_crs HA Resource Target State -------------------------------------------- ------- ----------------- ora.DATA.dg ONLINE ONLINE on xxyyy1 ora.LISTENER.lsnr ONLINE ONLINE on xxyyy1 ora.LISTENER_SCAN1.lsnr ONLINE ONLINE on xxyyy2 ora.LISTENER_SCAN2.lsnr ONLINE ONLINE on xxyyy1 ora.LISTENER_SCAN3.lsnr ONLINE ONLINE on xxyyy1 ora.OCR.dg ONLINE ONLINE on xxyyy1 ora.asm ONLINE ONLINE on xxyyy1 ora.cvu ONLINE ONLINE on xxyyy1 ora.xxyyy.db ONLINE ONLINE on xxyyy1 ora.xxyyy.orcl.svc ONLINE ONLINE on xxyyy1 ora.xxyyy1.ASM1.asm ONLINE ONLINE on xxyyy1 ora.xxyyy1.LISTENER_xxyyy1.lsnr ONLINE ONLINE on xxyyy1 ora.xxyyy1.gsd OFFLINE OFFLINE ora.xxyyy1.ons ONLINE ONLINE on xxyyy1 ora.xxyyy1.vip ONLINE ONLINE on xxyyy1 ora.xxyyy2.ASM2.asm ONLINE ONLINE on xxyyy2 ora.xxyyy2.LISTENER_xxyyy2.lsnr ONLINE ONLINE on xxyyy2 ora.xxyyy2.gsd OFFLINE OFFLINE ora.xxyyy2.ons ONLINE ONLINE on xxyyy2 ora.xxyyy2.vip ONLINE ONLINE on xxyyy2 ora.gsd OFFLINE OFFLINE ora.net1.network ONLINE ONLINE on xxyyy1 ora.oc4j ONLINE ONLINE on xxyyy1 ora.ons ONLINE ONLINE on xxyyy1 ora.registry.acfs ONLINE ONLINE on xxyyy1 ora.scan1.vip ONLINE ONLINE on xxyyy2 ora.scan2.vip ONLINE ONLINE on xxyyy1 ora.scan3.vip ONLINE ONLINE on xxyyy1 $ ./dba_crs ora.LISTENER_SCAN HA Resource Target State -------------------------------------------- ------- ----------------- ora.LISTENER_SCAN1.lsnr ONLINE ONLINE on xxyyy2 ora.LISTENER_SCAN2.lsnr ONLINE ONLINE on xxyyy1 ora.LISTENER_SCAN3.lsnr ONLINE ONLINE on xxyyy1 $ ./dba_crs | egrep "HA Resource |OFFLINE|^---" HA Resource Target State -------------------------------------------- ------- ----------------- ora.xxyyy1.gsd OFFLINE OFFLINE ora.xxyyy2.gsd OFFLINE OFFLINE ora.gsd OFFLINE OFFLINE --//我的机器还有一个perl的脚本: $ cat dba_crs.pl #!/usr/bin/perl $s="."; if($#ARGV>=0){$s=$ARGV[0];chomp$s;} printf("%-45s%-18s%-12s%-18s\n","HA Resource","TYPE","Target","State"); printf("%-45s%-18s%-12s%-18s\n","-----------","-----","------","-----"); open(CRS_STAT,"crs_stat -u|"); while($line=<CRS_STAT>) { if($line =~ m/=/) { chomp$line; ($n,$v)=split(/=/,$line); if($n eq "NAME"){$name=$v;} elsif($n eq "TYPE"){$type=$v;} elsif($n eq "TARGET"){$target=$v;} elsif($n eq "STATE") { $state=$v; if($name=~ m/$s/) { printf("%-45s%-18s%-12s%-18s\n",$name,$type,$target,$state); } } } } --//这样显示更加清晰.不过从11g开始已经使用crsctl取代crs_stat这个命令. $ crsctl status resource -t $ crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 ora.LISTENER.lsnr ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 ora.OCR.dg ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 ora.asm ONLINE ONLINE xxyyy1 Started ONLINE ONLINE xxyyy2 Started ora.gsd OFFLINE OFFLINE xxyyy1 OFFLINE OFFLINE xxyyy2 ora.net1.network ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 ora.ons ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 ora.registry.acfs ONLINE ONLINE xxyyy1 ONLINE ONLINE xxyyy2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE xxyyy2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE xxyyy1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE xxyyy1 ora.cvu 1 ONLINE ONLINE xxyyy1 ora.xxyyy.db 1 ONLINE ONLINE xxyyy1 Open 2 ONLINE ONLINE xxyyy2 Open ora.xxyyy.orcl.svc 1 ONLINE ONLINE xxyyy1 ora.xxyyy1.vip 1 ONLINE ONLINE xxyyy1 ora.xxyyy2.vip 1 ONLINE ONLINE xxyyy2 ora.oc4j 1 ONLINE ONLINE xxyyy1 ora.scan1.vip 1 ONLINE ONLINE xxyyy2 ora.scan2.vip 1 ONLINE ONLINE xxyyy1 ora.scan3.vip 1 ONLINE ONLINE xxyyy1 --//oracle的crsctl区分开Local Resources以及Cluster Resources,name单独显示一行,解决这个问题. --//感觉oracle设计这个命令按照80列显示宽度来设计的. --//另外crsctl status resource还增加-w参数过滤,这样可以更快看到那些资源OFFLINE. $ crsctl status resource -h Usage: crsctl status resource [<resName>[...]|-w <filter>] [<-p|-v> [-e]] | [[-f|-l|-g]] | [[-k <cid>|-n <server>] [-d <did>]] | [-s -k <cid> [-d <did>]] Check status of designated resources crsctl status resource [<resName>[...]|-w <filter>] -t Print status of resources in tabular format crsctl status resource [<resName>[...]] -dependency [-stop | -pullup] Print resource dependencies where resName [...] One or more blank-separated resource names -w Resource filter (e.g., "TYPE = ora.database.type") -p Print static configuration -v Print runtime configuration -e Evaluate a resource instance's special values -f Print full configuration -l Print all cardinal and degree members -g Check if resources are registered -k Cardinality ID -d Degree ID -n Server name -s Get target servers for relocation -t Tabular display -dependency Display resource dependencies, default is start dependencies -stop Display resource stop dependencies -pullup Display resource pullup dependencies $ crsctl stat res -t -w "((TARGET != ONLINE) or (STATE != ONLINE)) " -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.gsd OFFLINE OFFLINE xxyyy1 OFFLINE OFFLINE xxyyy2 $ crsctl stat res -t -w "((TARGET != ONLINE) or (STATE != ONLINE)) and (TYPE != ora.gsd.type)" --//注意一点TARGET,STATE,TYPE大写. $ crsctl stat res -t -w "name = ora.gsd" --//没有输出. $ crsctl stat res -t -w "NAME = ora.gsd" -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.gsd OFFLINE OFFLINE xxyyy1 OFFLINE OFFLINE xxyyy2 $ crsctl stat res -t -w "TARGET = offline" --//没有输出. $ crsctl stat res -t -w "TARGET = OFFLINE" -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.gsd OFFLINE OFFLINE xxyyy1 OFFLINE OFFLINE xxyyy2 --//还有注意 = 两边留空. $ crsctl stat res -t -w "TARGET=OFFLINE" CRS-2594: Filter specification 'TARGET=OFFLINE' is invalid Sample filters: 1. TYPE = type1 2. ((TYPE = type1) AND (CHECK_INTERVAL > 50)) 3. (TYPE = type1) AND ((CHECK_INTERVAL > 30) OR (AUTO_START co never)) Filter Operators: =, >, <, !=, co, st, en Sample command: crsctl status res -w "TYPE = type1" CRS-4000: Command Status failed, or completed with errors.
[20190507]crs_stat与crsctl.txt
来源:这里教程网
时间:2026-03-03 13:35:38
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 18c
Oracle 18c
26-03-03 - ipad协议源码安卓协议源码
ipad协议源码安卓协议源码
26-03-03 - Debian服务状态监控(新手入门指南:轻松掌握Linux系统服务运行状况)
- 转自数据云-----架构师眼中的高并发架构
转自数据云-----架构师眼中的高并发架构
26-03-03 - 掌握Debian系统运行状态(详解uptime命令查看系统运行时间)
掌握Debian系统运行状态(详解uptime命令查看系统运行时间)
26-03-03 - Oracle里面的外连中where和on之后and有啥区别
Oracle里面的外连中where和on之后and有啥区别
26-03-03 - oracle-rac出问题需要重装,自动清理安装痕迹脚本
oracle-rac出问题需要重装,自动清理安装痕迹脚本
26-03-03 - Oracle 18c PSU
Oracle 18c PSU
26-03-03 - Oracle 19c 安装尝鲜
Oracle 19c 安装尝鲜
26-03-03 - Oracle PSU 简介
Oracle PSU 简介
26-03-03
