RAC 설치 후에는 crs_stat이란 명령어를 사용할 수 있습니다.
우선 오라클 유저로 접속 후 crs_stat 명령을 입력하여 봅시다.
os] crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....ek1.srv application ONLINE ONLINE left
ora....ek2.srv application ONLINE ONLINE right
ora....ORCL.cs application ONLINE ONLINE right
ora....k1.inst application ONLINE ONLINE left
ora....k2.inst application ONLINE ONLINE right
ora.bitek.db application ONLINE ONLINE right
ora....SM1.asm application ONLINE ONLINE left
ora....FT.lsnr application ONLINE ONLINE left
ora.left.gsd application ONLINE ONLINE left
ora.left.ons application ONLINE ONLINE left
ora.left.vip application ONLINE ONLINE left
ora....SM2.asm application ONLINE ONLINE right
ora....HT.lsnr application ONLINE UNKNOWN right
ora.right.gsd application ONLINE UNKNOWN right
ora.right.ons application ONLINE UNKNOWN right
ora.right.vip application ONLINE ONLINE right
위와 같은 정보가 나옵니다.
그럼 crs_stat은 어떤 정보를 보여주는 명령어인지 감은 오실겁니다.
정확히 얘기해서 crs_stat은 클러스터 노드의 리소스들에 대한 상태정보를 보여주는 명령어 입니다.
그럼 각 컬럼이 무엇을 의미하는지 알아보죠.
Name : 리소스의 이름을 나타냅니다.
Type : 리소스의 타입을 나타냅니다.
Target : 오라클 클러스터웨어가 리소스에 대해 어떻게 하려고 하는지 보여줍니다.
만약 target이 online이고, 클러스터 노드가 실패한다면 오라클 클러스터웨어는 다른 노드에서 그 리소스(어플리케이션)을 재시작하려고
시도합니다.
State : 클러스터 노드에서 성공적으로 실행되고 있는지 아닌지를 보여주는 항목입니다.
online / offline / unkown
Host : 서버의 hostname을 나타냅니다.
참고로 위의 crs_stat 명령어를 실행하면 리소스 이름들이 잘려보이므로
아래의 스크립트를 이용하면 전체 이름이 잘 나옵니다.
(참고로 os에 따라 명령어의 위치가 달라질 수 있으므로 주의. 아래의 예는 Oracle Enterprise Linux에서는 문제 없이 잘 실행됨.)
우선 오라클 유저로 접속 후 crs_stat 명령을 입력하여 봅시다.
os] crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....ek1.srv application ONLINE ONLINE left
ora....ek2.srv application ONLINE ONLINE right
ora....ORCL.cs application ONLINE ONLINE right
ora....k1.inst application ONLINE ONLINE left
ora....k2.inst application ONLINE ONLINE right
ora.bitek.db application ONLINE ONLINE right
ora....SM1.asm application ONLINE ONLINE left
ora....FT.lsnr application ONLINE ONLINE left
ora.left.gsd application ONLINE ONLINE left
ora.left.ons application ONLINE ONLINE left
ora.left.vip application ONLINE ONLINE left
ora....SM2.asm application ONLINE ONLINE right
ora....HT.lsnr application ONLINE UNKNOWN right
ora.right.gsd application ONLINE UNKNOWN right
ora.right.ons application ONLINE UNKNOWN right
ora.right.vip application ONLINE ONLINE right
위와 같은 정보가 나옵니다.
그럼 crs_stat은 어떤 정보를 보여주는 명령어인지 감은 오실겁니다.
정확히 얘기해서 crs_stat은 클러스터 노드의 리소스들에 대한 상태정보를 보여주는 명령어 입니다.
그럼 각 컬럼이 무엇을 의미하는지 알아보죠.
Name : 리소스의 이름을 나타냅니다.
Type : 리소스의 타입을 나타냅니다.
Target : 오라클 클러스터웨어가 리소스에 대해 어떻게 하려고 하는지 보여줍니다.
만약 target이 online이고, 클러스터 노드가 실패한다면 오라클 클러스터웨어는 다른 노드에서 그 리소스(어플리케이션)을 재시작하려고
시도합니다.
State : 클러스터 노드에서 성공적으로 실행되고 있는지 아닌지를 보여주는 항목입니다.
online / offline / unkown
Host : 서버의 hostname을 나타냅니다.
참고로 위의 crs_stat 명령어를 실행하면 리소스 이름들이 잘려보이므로
아래의 스크립트를 이용하면 전체 이름이 잘 나옵니다.
(참고로 os에 따라 명령어의 위치가 달라질 수 있으므로 주의. 아래의 예는 Oracle Enterprise Linux에서는 문제 없이 잘 실행됨.)
#!/usr/bin/ksh
#
# 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
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:
$ORA_CRS_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;}'
#
# 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
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:
$ORA_CRS_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;}'
'Oracle > RAC' 카테고리의 다른 글
RAC 설치시 자동으로 올라오는 이유 (0) | 2011.03.10 |
---|---|
INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP (0) | 2011.03.02 |
TAF (Transparent Application Failover) (1) | 2010.07.07 |
CTF, TAF 설정 (0) | 2010.06.16 |
srvctl 유틸리티 (1) | 2010.06.16 |