#!/usr/bin/sh
#+++++++++++++++++++++++++++++++++++++++++++++
stop and start all oracle database listener in a server
Param 1 : -stop |start
#+++++++++++++++++++++++++++++++++++++++++++++
#############################################
Start the tnslistener
#############################################
start_tnslstnr()
{
echo $(date) “Start TNSLISTENER name $oralistner for Database $oraid”
su - $oraid -c “lsnrctl start $oralistner ; wait” >/dev/null 2>&1 0</dev/null;
su - $oraid -c "lsnrctl status oralistner" 2>&1 0
if [ $RC -eq 0 ]
then
echo $(date) “DONE : Start TNSLISTENER $oralistner”;
else
echo “=";
echo “”
echo “”
echo $(date) "WARNING: Start TNSLISTENER RC;
echo "=”;
echo “”
echo “”
echo “”
fi
}
#############################################
stop the tnslistener
#############################################
stop_tnslstnr()
{
echo $(date) “Start TNSLISTENER name $oralistner for Database $oraid”
su - $oraid -c “lsnrctl stop $oralistner ; wait” >/dev/null 2>&1 0</dev/null;
su - $oraid -c "lsnrctl status oralistner" 2>&1 0
if [ $RC -eq 0 ]
then
echo $(date) “DONE : Stop TNSLISTENER $oralistner”;
else
echo “##################################################################”;
echo “”
echo “”
echo $(date) "WARNING: Stop TNSLISTENER RC;
echo “##################################################################”;
echo “”
echo “”
echo “”
fi
}
#############################################
Start the tnslistener
#############################################
read_listener()
{
oralistners=oraid |grep -v “^#” |grep -v “SID_LIST”|grep -v “DESC” |grep -v “)”|grep -v “ADDRESS”)
oralistners=$(echo $oralistners|tr “=” " ")
for oralistner in $oralistners
do
case $action in
-start) start_tnslstnr
;;
-stop) stop_tnslstnr
;;
esac
done
if [ $RC -le 1 ]
then
case $action in
-start) echo “all the database listener on this server is started!!!”
;;
-stop) echo “all the database listener on this server is stopped!!!”
;;
esac
fi
}
#############################################
Main
#############################################
if [ $# -lt 1 ]
then
echo “##########################################################################################”
echo “”
echo "Syntax : stop oracle database listener listener <-start|-stop> " 1>&2
echo “”
echo “##########################################################################################”
exit 8
fi
action=$1
oraids=(echo $oraids |tr “,” " ")
for oraid in $oraids
do
echo "oracle databse (find / -name listener.ora|grep -v sample|grep -i $oraid);
echo $oraidlitener;
if [ -f oraid ]
then
rm -rf /tmp/$oraid
cat oraid
else
cat oraid
fi
read_listener;
fi
done