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
















Ready for Action?

LET'S GO!
Copyright 2024 IT Remote dot com
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram