The orginal script was not able to handle multiple standbys.
This is the orginal script.
$ cat old_dgmgrl_validate_srl_all.sh
red='\033[0;31m'
green='\033[0;32m'
nc='\033[0m'
ps -ef|grep ora_[d]mon|sort -k8|awk -F "_" '{print $3}'|grep APEX18 > /tmp/sids.txt
arr=(`grep '^[A-Z].*' < /tmp/sids.txt`)
for i in "${arr[@]}"
do
echo ======================== $i ========================
. oraenv <<< $i >/dev/null
stby=`dgmgrl / "show configuration" | grep "Physical standby" | awk '{print $1;}'`
echo $stby
dgmgrl / "validate database verbose '$stby'" | grep -B4 "SRL"
done
exit
This is the orginal result.
$ ./old_dgmgrl_validate_srl_all.sh
======================== APEX181 ========================
APEX18_PHO APEX18_ASH
$
This is the improved script.
$ cat dgmgrl_validate_srl_all.sh
#!/bin/bash
# Created by Vyacheslav Rasskazov
# Updated by Michael Dinh : Add functionality for multiple standbys
red='\033[0;31m'
green='\033[0;32m'
nc='\033[0m'
ps -ef|grep ora_[d]mon|sort -k8 | awk -F "_" '{print $3}'|grep APEX18 > /tmp/sids.txt
arr=(`grep '^[A-Z].*' < /tmp/sids.txt`)
#set -x
for i in "${arr[@]}"
do
. oraenv <<< $i >/dev/null
echo ========= $i ":" $ORACLE_HOME =========
stby=`dgmgrl / "show configuration" | grep "Physical standby" | awk '{print $1;}'`
# Add functionality for multiple standbys
for x in $stby
do
echo "STANDBY DB_UNIQUE_NAME: " $x
dgmgrl / "validate database verbose '$x'" | grep -B4 "SRL"
done
done
exit
$
This is the improved result.
$ ./dgmgrl_validate_srl_all.sh
========= APEX181 : /u02/app/oracle/product/18.0.0.0/dbhome_7 =========
STANDBY DB_UNIQUE_NAME: APEX18_PHO
Current Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASHBURN) (APEX18_PHO)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
Future Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_PHO) (APEX18_ASHBURN)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
STANDBY DB_UNIQUE_NAME: APEX18_ASH
Current Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASHBURN) (APEX18_ASH)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
Future Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASH) (APEX18_ASHBURN)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
$