#!/bin/ksh
#############################################################################
# #
# FILENAME: util_common.ksh #
# LOCATION: /oracle/admin/scripts/utilcommon #
# #
# *** DO NOT MODIFY THIS FILE *** #
# IF YOU NEED A CHANGE TO THIS FILER #
# CONTACT : Raju Kakarlapudi or Michael Culp #
#############################################################################
# #
# Revision History: #
# #
# REV DATE BY DESCRIPTION #
# --- -------- ---------------- ---------------------------------------- #
# 1.0 01252019 Raju Kakarlapudi Common GG Hub help functions scripts #
# 1.1 01252019 Michael Culp Common GG Hub help functions scripts #
# #
#############################################################################
# Environment Variables
#####################################################################
export TZ=UTC
export XAG_HOME=/oracle/product/xag_91
export CRS_HOME=`cat /etc/oratab|grep -i '^crs'|awk -F: '{print $2}'`
export ORACLE_HOME=$(grep $ORACLE_SID":" /etc/oratab |awk -F: '{print $2}')
#####################################################################
# ASM
# GoldenGate common diagnostics functions
##############################################################
# sho_utl_list
# sho_swinv
# sho_hub_envinv
# sho_scan
# sho_assigned_ports - This is a text file of the assignment from GG Hub team
# sho_dev_dirs
# sho_copy
sho_utl_list () # List all functions in diag_common.ksh
{
clear
echo
echo
echo
/bin/grep "() " /oracle/admin/scripts/utilcommon/util_common.ksh | /bin/grep -v "*.ksh"
}
sho_swinv () # Show GoldenGate Software inventory on the host
{
GG_HOME=/oracle/product
DIRLST=/tmp/orapddir.lst
LOG_FILE=/tmp/ggversion.txt
OUT_HOME=/tmp/outhome.txt
OUT_NOHOME=/tmp/outnohome.txt
ls -d ${GG_HOME}/* | grep "gg*" | grep -v "xag*" | grep -v "ms*" > $DIRLST
echo $'\t' "GG Home " $'\t\t\t\t' "GG Version" > ${OUT_HOME}
cat $DIRLST | while read LINE
do
SUB3=`echo $LINE | awk '{print substr($1,19,1)}'`
if [ ${SUB3} != 1 ]; then
if [ -f ${LINE}/ggsci ]; then
ggver=`${LINE}/ggsci -v | grep "Version"`
echo ${LINE} $'\t' ${ggver} >> ${OUT_HOME}
else
echo ${LINE} $'\t' "SW is NOT Installed" >> ${OUT_NOHOME}
fi
fi
done
rm $DIRLST
if [ -f ${OUT_NOHOME} ]; then
cat ${OUT_HOME} ${OUT_NOHOME}
rm ${OUT_HOME} ${OUT_NOHOME}
else
cat ${OUT_HOME}
rm ${OUT_HOME}
fi
}
sho_copy() # Show all of the copy functions /oracle/admin/scripts/cp_common.ksh
{
echo
echo
echo
/bin/grep "()" /oracle/admin/scripts/cp_common.ksh | /bin/grep -v "*.ksh"
}
sho_dev_dirs() # Show the development script directories
{
echo "Shows the locations of the various libraries used for GG Hub functions"
echo
# dir
clear
echo
echo
echo
echo " Common Function Libraries...................................................."
echo "==================================================================================="
echo "Copy /oracle/admin/scripts/cp_common.ksh................"
echo "Legacy library /oracle/admin/scripts/apex/apex_common.ksh........."
echo "ASM /oracle/admin/scripts/asmcommon/asm_common.ksh....."
echo "CRS /oracle/admin/scripts/crsdbfs/crs_common.ksh......."
echo "DB generic /oracle/admin/scripts/dbcommoni/db_common.ksh......"
echo "DBFS /oracle/admin/scripts/dbfscommon/dbfs_common.ksh..."
echo "DataGuard /oracle/admin/scripts/dgcommon/dg_common.ksh......."
echo "GoldenGate /oracle/admin/scripts/ggcommon/gg_common.ksh......."
echo "Diagnostics /oracle/admin/scripts/ggdiagcommon/diag_common.ksh."
echo "GoldenGate Source / Dest only /oracle/admin/scripts/ggsdcommon/gg_sdcommon.ksh..."
echo "GRID Infr /oracle/admin/scripts/gicommon/gi_common.ksh......."
echo "Linux Generic /oracle/admin/scripts/linux/linux_common.ksh......."
echo "QA GG Hub /oracle/admin/scripts/qacommon/qa_common.ksh......."
echo "TAR Backups /oracle/admin/scripts/tars........................."
echo "Utility /oracle/admin/scripts/utilcommon..................."
echo "==================================================================================="
}
sho_hub_envinv () # Lists all GG Host Inventory for all environments
{
clear
echo "sho_hub_eninv func"
echo "Overview of the environment...."
echo
echo "GoldenGate Version 12.2 installed on 21 nodes"
echo
echo "There are currently 7 Clusters / 21 Servers....."
echo "GoldenGate Hub environment......................"
echo
echo "Texas Dev Cluster"
echo
echo "TX DEV cluster cowhd050-scan"
echo
echo "...lrdne67mp.usrdnwx"
echo "...lrdne67np.usrdnwx"
echo "...lrdne67op.usrdnwx"
echo
echo
echo "Virginia Dev Cluster"
echo
echo "VA DEV cluster cormd050-scan"
echo
echo "...lrche1de.usrchve.amrs"
echo "...lrche1di.usrchve.amrs"
echo "...lrche1dj.usrchve.amrs"
echo
echo
echo "Texas CLLE Cluster"
echo
echo "TX CLLE cluster corst050-scan"
echo
echo "...lrdne67pp.usrdncu.amrs"
echo "...lrdne67qp.usrdncu.amrs"
echo "...lrdne67rp.usrdncu.amrs"
echo
echo
echo "Pennslyvania Prod Cluster"
echo
echo "PA PROD cluster copap050-scan"
echo
echo "...lltwa0wy.uslttrr.amrs"
echo "...lltwa0wz.uslttrr.amrs"
echo "...lltwa0x0.uslttrr.amrs"
echo
sho_ait_disk
}
sho_ait_disk() # Show the AIT / Disk allocation as we know it
########################################################
#
########################################################
{
echo
echo "Current AITs in the HUB with Disk Allocated"
echo
echo "Seed disk for initial environment..."
echo
echo "This was the initial GoldenGate Allocation..."
echo
echo "======================================"
echo "AIT# 63505 (old) / 70873 (new) GG Hub "
echo " - OSRF Request #25449"
echo " - Total Environment Size 26TB"
echo
echo " - DEV TEXAS "
echo "======================================"
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " DEV TX (8) x 250GB "
echo " DEV TX (12) x 5GB "
echo "==========================="
echo
echo " - DEV VIRGINIA "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " DEV VA (8) x 250GB "
echo " DEV VA (12) x 5GB "
echo "==========================="
echo
echo " - CLLE TEXAS "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " CLLE TX (8) x 250GB "
echo " CLLE TX (12) x 5GB "
echo "==========================="
echo
echo " - CLLE VIRGINIA "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " CLLE VA (8) x 250GB "
echo " CLLE VA (12) x 5GB "
echo "==========================="
echo
echo " - PROD TEXAS "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " PROD TX (24) x 250GB "
echo " PROD TX (12) x 5GB "
echo "==========================="
echo
echo " PROD VA "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " PROD VA (24) x 250"
echo " PROD VA (12) x 5"
echo "==========================="
echo
echo
echo " PROD PA "
echo "==========================="
echo " (3) Nodes"
echo " 100GB /oracle "
echo " 100GB /oracle_crs"
echo
echo " PROD PA (24) x 250"
echo " PROD PA (12) x 5"
echo "==========================="
echo
echo "AIT# 12395 (old) 71296 (new) CICM "
echo " - OSRF Request #27776"
echo " - Total Environment estimate 50TB"
echo
echo " CLLE TX (66) x 250GB "
echo " CLLE VA (66) x 250GB "
echo
echo " PROD TX (42) x 250GB "
echo " PROD VA (42) x 250GB "
echo " PROD PA (42) x 250GB "
echo
echo
echo "AIT# 63505 MDX "
echo " - OSRF Request #27779 "
echo " - Total Environment estimate "
echo
echo " CLLE TX (10) x 250GB "
echo " CLLE VA (10) x 250GB "
echo
echo " PROD TX (4) x 250GB "
echo " PROD VA (4) x 250GB "
echo " PROD PA (4) x 250GB "
echo
echo
echo "AIT# 71466 FastTrack "
echo " - OSRF Request #28950"
echo " - Total Environment estimate "
echo
echo " CLLE TX (20) x 250GB "
echo " CLLE VA (20) x 250GB "
echo
echo " PROD TX (7) x 250GB "
echo " PROD VA (7) x 250GB "
echo " PROD PA (7) x 250GB "
echo
echo
echo "AIT# 58962 OREE "
echo " - OSRF Request #29019"
echo " - Total Environment estimate "
echo
echo " CLLE TX (30) x 250GB "
echo " CLLE VA (30) x 250GB "
echo
echo " PROD TX (15) x 250GB "
echo " PROD VA (15) x 250GB "
echo " PROD PA (15) x 250GB "
echo
}
sho_scan() # Lists all SCAN hostnames for entire Hub environment
#########################################################################
# List SCAN Hostnames for all 7 GG Hub clusters
#########################################################################
{
echo
echo "TX DEV cluster cowhd050-scan.bankofamerica.com"
echo
echo "VA DEV cluster cormd050-scan.bankofamerica.com"
echo
echo "TX CLLE cluster corst050-scan.bankofamerica.com"
echo
echo "VA CLLE cluster cormt050-scan.bankofamerica.com"
echo
echo "TX PROD cluster corsp050-scan.bankofamerica.com"
echo
echo "VA PROD cluster cormp050-scan.bankofamerica.com"
echo
echo "PA PROD cluster copap050-scan.bankofamerica.com"
echo
}
##############################################################
# CRS
##############################################################
# DG
##############################################################
# dg_pri_stat - Show the current failover status for the primary instance
# db_role - Show the databases and role on the cluster
# sho_db_svc - Show database service status
# sho_dbinst_stat -- Show database instance status
db_role () # RDBMS Databases and Roles on the cluster, parameter DBNAME optional
{
echo " "
space=" "
if [ -n "$1" ]; then
DBNAME=`echo $1 | tr '[a-z]' '[A-Z]'`
DBROLE=`$ORACLE_HOME/bin/srvctl config database -d $DBNAME | grep "Database role" | awk '{print $3}'`
echo "Database Name $DBNAME Current DB Role $DBROLE"
sho_dbinst_stat $DBNAME
else
for INST in `ps -ef | grep ora_pmon | grep -v "grep" | awk '{print substr($8,10)}'`
do
DBNAME=${INST%?}
DBROLE=`$ORACLE_HOME/bin/srvctl config database -d $DBNAME | grep "Database role" | awk '{print $3}'`
echo "Database Name $DBNAME Current DB Role $DBROLE"
### $ORACLE_HOME/bin/srvctl status database -d $DBNAME
sho_dbinst_stat $DBNAME
echo " "
done
fi
}
sho_db_svc () # RDBMS services, parameter service name is optional
{
echo " "
if [ -n "$1" ]; then
dbname=`echo $1 | tr '[a-z]' '[A-Z]'`
else
echo "Database name parameter is required for this function *** "
fi
if [ -n "$2" ]; then
svcnm=`echo $2 | tr '[A-Z]' '[a-z]'`
$ORACLE_HOME/bin/srvctl status service -d $dbname -s $svcnm
else
svcnm=ALL
$ORACLE_HOME/bin/srvctl status service -d $dbname
fi
}
sho_dbinst_stat () # Database instance status, parameter DBNAME
{
echo " "
if [ -n "$1" ]; then
dbname=`echo $1 | tr '[a-z]' '[A-Z]'`
else
echo "Database name parameter is required for this function *** "
fi
$ORACLE_HOME/bin/srvctl status database -d $dbname
}
sho_db_config () # Database configuration and role, parameter DBNAME
{
echo " "
if [ -n "$1" ]; then
dbname=`echo $1 | tr '[a-z]' '[A-Z]'`
else
echo "Database name parameter is required for this function *** "
fi
$ORACLE_HOME/bin/srvctl config database -d $dbname
}
# XAG
##############################################################
### XAG
##############################################################