Wednesday, April 05, 2006

[Example] Shell Script for rotate listener log (V0.2)

For support every listener name:

#!/bin/sh
. ~/.bash_profile
export ORACLE_HOME=/oracle/product/10.2.0/db

DATE=`/bin/date +'%Y%m%d'`
#Configure OHOME, LISTEN
OHOME=/oracle/product/10.2.0/db
DIR==${OHOME}/network/log
ODIR=${OHOME}/network/log/old

LISTEN=LISTENER_DB01


FILE=${OHOME}/network/admin/listener.ora
if [ -f ${FILE} ]
then
NDIR=`${OHOME}/bin/lsnrctl show log_directory ${LISTEN} | /bin/grep log_directory | /bin/awk '{print $6}'`
NFILE=`${OHOME}/bin/lsnrctl show log_file ${LISTEN} | /bin/grep log_file | /bin/awk '{print $6}'`
LOGFILE=${NDIR}/${NFILE}



echo ${LOGFILE}

if [ ! -d ${ODIR} ]
then
/bin/mkdir ${ODIR}
fi

if [ -f ${LOGFILE} ]
then

/bin/mv ${LOGFILE} ${ODIR}/${NFILE}.${DATE}


${OHOME}/bin/lsnrctl set log_status off
${OHOME}/bin/lsnrctl set log_status on
/bin/gzip ${ODIR}/${NFILE}.${DATE}

fi

fi
----------------------------------------

ls -la /oracle/product/10.1.0/db/network/log/old/
total 64
drwxr-xr-x 2 oracle dba 4096 Apr 5 16:13 .
drwxr-xr-x 3 oracle dba 4096 Apr 5 16:13 ..
-rw-r----- 1 oracle dba 52564 Apr 5 16:13 listener_db01.log.20060405.gz

No comments: