#!/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 ##############################################################