from web ...
cat crsctl1.sh
#!/bin/bash
#
# 11g 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:
crsctl status resource | $AWK \
'
function ltrim(s) { sub(/^[ \t]+/, "", s); return s }
function rtrim(s) { sub(/[ \t]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
BEGIN { FS="="; state = 0; }
$1~/NAME/ && $2~/'$RSC_KEY'/ {appname = $2; state=1};
state == 0 {next;}
$1~/TARGET/ && state == 1 {apptarget = $2; split(apptarget, atarget, ","); state=2;}
$1~/STATE/ && state == 2 {appstate = $2; split(appstate, astate, ","); state=3;}
state == 3 { split(appname, a, ",");
for (i = 1; i <= length(atarget); i++) {
printf "%-45s %-10s %-18s\n", appname, trim(atarget[i]), trim(astate[i])
};
state=0;}'
chmod 700 crsctl1.sh
============
HA Resource Target State
----------- ------ -----
ora.DATA.dg ONLINE ONLINE on oragrid
ora.LISTENER.lsnr ONLINE ONLINE on oragrid
ora.asm ONLINE ONLINE on oragrid
ora.cssd ONLINE ONLINE on oragrid
ora.diskmon OFFLINE OFFLINE
ora.evmd ONLINE ONLINE on oragrid
ora.ons OFFLINE OFFLINE
======================
cat crsstatus.sh
#!/bin/sh
CRS_HOME=/u01/app/19.0.0/grid
$CRS_HOME/bin/crsctl stat res -t -init\
| awk -v t="$t" '$0 !~ "Cluster Resources" && $0 !~ "Local Resources" \
{ \
if ($0 ~ "Name") { \
printf "%-45s %-10s %-15s %-14s %s %s\n", $1, $2, $3, $4, $5, $6
while (++k <= 120) { \
printf("-") \
} \
printf ("\n") \
} \
if (NF == 1) {\
rs=$0 \
} \
else if (NR != 2) { \
if ($1 ~ "^[0-9]") { \
if ($0 ~ "Shutdown" || (rs ~ "svc$" && $3 == "OFFLINE" )) { \
l = "$CRS_HOME/olsnodes -n"
cmd[NR] = l
while (l | getline line) {
split(line,r," ")
if (r[2] == $1) {
NODE = r[1]
}
}
printf "%-45s %-10s %-15s %-14s %s %s\n", rs, $2, $3, NODE, $4, $5, "", $6, $7 \
} \
else { \
printf "%-45s %-10s %-15s %-14s %s %s\n", rs, $2, $3, $4, $5, $6, $7 \
} \
} \
else { \
printf "%-45s %-10s %-15s %-14s %s %s\n", rs, $1, $2, $3, $4, $5, $6, $7 \
} \
} \
}'
===========================
#!/bin/bash
export ECHO=`which echo`
$ECHO -e "\033[31;7m#######################\033[0m"
$ECHO -e "\033[31;7m# Node Numbers on RAC #\033[0m"
$ECHO -e "\033[31;7m#######################\033[0m"
olsnodes
$ECHO -e "\033[31;7m#####################\033[0m"
$ECHO -e "\033[31;7m# ASM Status on RAC #\033[0m"
$ECHO -e "\033[31;7m#####################\033[0m"
srvctl status asm
$ECHO -e "\033[31;7m###########################\033[0m"
$ECHO -e "\033[31;7m# Diskgroup Status on RAC #\033[0m"
$ECHO -e "\033[31;7m###########################\033[0m"
asm_disk_name=$(asmcmd lsdg | grep -v "Name" | awk -F ' ' '{print $NF}' | awk -F '/' '{print $1}')
for adn in ${asm_disk_name}
do
srvctl status diskgroup -g ${adn} -a -v
done
$ECHO -e "\033[31;7m#########################\033[0m"
$ECHO -e "\033[31;7m# Network Status on RAC #\033[0m"
$ECHO -e "\033[31;7m#########################\033[0m"
srvctl status nodeapps | grep -E "Network"
$ECHO -e "\033[31;7m#####################\033[0m"
$ECHO -e "\033[31;7m# VIP Status on RAC #\033[0m"
$ECHO -e "\033[31;7m#####################\033[0m"
srvctl status nodeapps | grep -E "VIP"
$ECHO -e "\033[31;7m##########################\033[0m"
$ECHO -e "\033[31;7m# SCAN VIP Status on RAC #\033[0m"
$ECHO -e "\033[31;7m##########################\033[0m"
srvctl status scan
$ECHO -e "\033[31;7m###################################################\033[0m"
$ECHO -e "\033[31;7m# ONS (Oracle Notification Service) Status on RAC #\033[0m"
$ECHO -e "\033[31;7m###################################################\033[0m"
srvctl status nodeapps | grep -E "ONS"
$ECHO -e "\033[31;7m####################################################\033[0m"
$ECHO -e "\033[31;7m# CVU (Cluster Verification Utility) Status on RAC #\033[0m"
$ECHO -e "\033[31;7m####################################################\033[0m"
srvctl status cvu
$ECHO -e "\033[31;7m##########################\033[0m"
$ECHO -e "\033[31;7m# Listener Status on RAC #\033[0m"
$ECHO -e "\033[31;7m##########################\033[0m"
srvctl status listener
$ECHO -e "\033[31;7m###############################\033[0m"
$ECHO -e "\033[31;7m# SCAN Listener Status on RAC #\033[0m"
$ECHO -e "\033[31;7m###############################\033[0m"
srvctl status scan_listener
$ECHO -e "\033[31;7m########################\033[0m"
$ECHO -e "\033[31;7m# Database Name on RAC #\033[0m"
$ECHO -e "\033[31;7m########################\033[0m"
srvctl config database
$ECHO -e "\033[31;7m###################################\033[0m"
$ECHO -e "\033[31;7m# Database Instance Status on RAC #\033[0m"
$ECHO -e "\033[31;7m###################################\033[0m"
database_name=$(srvctl config database)
for dn in ${database_name}
do
srvctl status database -d ${dn} -v
done
./crsstatus.sh
#######################
# Node Numbers on RAC #
#######################
iirac01
iirac02
#####################
# ASM Status on RAC #
#####################
ASM is running on iirac02,iirac01
###########################
# Diskgroup Status on RAC #
###########################
Disk Group DATA is running on iirac02,iirac01
Disk Group DATA is enabled
Disk Group DUMPS is running on iirac02,iirac01
Disk Group DUMPS is enabled
Disk Group GRID is running on iirac01
Disk Group GRID is enabled
Disk Group LOGS is running on iirac02,iirac01
Disk Group LOGS is enabled
Disk Group MGMT is running on iirac01
Disk Group MGMT is enabled
#########################
# Network Status on RAC #
#########################
Network is enabled
Network is running on node: iirac01
Network is running on node: iirac02
#####################
# VIP Status on RAC #
#####################
VIP 64.106.245.35 is enabled
VIP 64.106.245.35 is running on node: iirac01
VIP 64.106.245.37 is enabled
VIP 64.106.245.37 is running on node: iirac02
##########################
# SCAN VIP Status on RAC #
##########################
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node iirac01
###################################################
# ONS (Oracle Notification Service) Status on RAC #
###################################################
ONS is enabled
ONS daemon is running on node: iirac01
ONS daemon is not running on node: iirac02
####################################################
# CVU (Cluster Verification Utility) Status on RAC #
####################################################
CVU is enabled and running on node iirac01
##########################
# Listener Status on RAC #
##########################
Listener LISTENER is enabled
Listener LISTENER is running on node(s): iirac02,iirac01
Listener LISTENER_2484 is enabled
Listener LISTENER_2484 is running on node(s): iirac02,iirac01
Listener LISTENER_TEST is enabled
Listener LISTENER_TEST is running on node(s): iirac02,iirac01
###############################
# SCAN Listener Status on RAC #
###############################
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node iirac01
########################
# Database Name on RAC #
########################
garbage
iirac
LRS
ugaryd
vorcl
###################################
# Database Instance Status on RAC #
###################################
No comments:
Post a Comment