#!/bin/ksh ############################################ # Name: ggs_lag.ksh # # PURPOSE: TO MONITOR LAG OF GOLDEN GATE # # NOTE: THIS SCRIPT CALLS ggs.ksh # # THIS SCRIPT NOTIFY IF LAG IS MORE THEN 30 MIN # # ONLY FOR FOR EXT AND PMP PROCESS GROUP # ########################################### export GGATE=/opt/oracle/u01/app/oracle/ggs alias gate='clear;cd $GGATE;./ggsci' export PATH=/opt/oracle/u01/app/oracle/ggs:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/opt/oracle/u01/app/oracle/ggs LOGDIR=/export/home/oracle/dba_scripts/ggs/logs EMAILFile=$LOGDIR/ggs_email.log BOX=$(uname -a | awk '{print $2}') ########################################################################## # RUNNING SCRIPT TO GET GOLDEN GATE INFORMATION # ########################################################################## /export/home/oracle/dba_scripts/ggs/ggs.ksh > $LOGDIR/ggs_1.log #to check when script was running echo "script ggsksh completed from ggs_lag at `date`" >> /tmp/ggs_check.log ################################################################################## ## FORMATTING INFORMATION: change cut -d":" -f 1,4 TO cut -d":" -f 1,2 ## ## to get information about lag instead of checkpoint ## ## this command grep only EXT_ and PMP_ if you need more pattern ## ## if you need more pattern to be grep'd please add to '(EXT_|PMP_|pattern)' ## ################################################################################## cat $LOGDIR/ggs_1.log|egrep -i '(EXT_|PMP_)'|cut -d":" -f 1,2,4| tr ":" " "|tr -s '[:space:]'|cut -d" " -f1,2,3,4,5,6 > $LOGDIR/ggs_2.log # uncomment below command if you want to get lag and checkpoint both information # #cat $LOGDIR/ggs_1.log|egrep -i '(EXT_|PMP_|DART)'|cut -d":" -f 1,2,4| tr ":" " "|tr -s '[:space:]'|cut -d" " -f1,2,3,4,5,6 > $LOGDIR/ggs_2.log # uncomment below command if you want to get lag information about running process # #cat $LOGDIR/ggs_1.log|grep RUNNING|cut -d":" -f 1,2,4| tr ":" " "|tr -s '[:space:]'|cut -d" " -f1,2,3,4,5,6 > $LOGDIR/ggs_2.log ########################################################################## ## CHECKING FOR LAG MORE THEN 30 MIN FOR ABENDED PROCESS ## ########################################################################## ########################################################################## ## CHECKING FOR LAG MORE THEN 30 MIN FOR ABENDED PROCESS ## ########################################################################## awk '{if ( $4 > 00 || $5 >=30 ) {print $1 " " $3 " HAS LAG of " $4" hour " $5 " min -- at -- " d "\n"} else {print "NO LAG FOR " $3 " " d >> "/tmp/ggs_lag_fine.log" }}' d="$(date)" $LOGDIR/ggs_2.log > $LOGDIR/ggs_email.log # uncomment below command if you want to get lag and checkpoint both information # #awk '{if ($4 >=30 || $5>=30 ) {print $1 " " $3 " has lag of "$4" min with checkpoint of "$5" min -- at -- " d "\n"} else {print "NO LAG FOR " $3 " "d > "/tmp/ggs_lag_fine.log" }}' d="$(date)" $LOGDIR/ggs_2.log > $LOGDIR/ggs_email.log ########################################################## ## SENDING EMAIL IF ERRORS ARE IN LOGFILE ### ########################################################## if [ -s $EMAILFile ]; then #echo "ERRORS FOUND" mailx -s "GG LAG FOUND ON: $BOX" your.email@gmail.com team.email@gmail.com < $EMAILFile else cat /dev/null > $EMAILFile #echo "ERRORS NOT FOUND" fi ################# SCRIPT END ###################### #!/bin/ksh ######################################### #Name: ggs.ksh # #THIS SCRIPT WILL CALLED BY ggs_lag.ksh # ######################################### #alias gate='clear;cd $GGATE;./ggsci' echo "ggsksh started `date`" >> /tmp/ggs_check.log export GGATE=/opt/oracle/u01/app/oracle/ggs alias gate='clear;cd $GGATE;ggsci' export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/opt/oracle/u01/app/oracle/ggs export PATH=/opt/oracle/u01/app/oracle/ggs:$PATH #cd $GGATE /opt/oracle/u01/app/oracle/ggs/ggsci <<> info all exit EOF echo "ggsksh completed at `date` " >> /tmp/ggs_check.log