Alert-Log-Rotation

Im Fehlerfall sind Trace Files und das Alert-Log der Datenbank enorm hilfreich. Damit Letzteres nicht zu groß wird, empfiehlt es sich, eine Log Rotation zu implementieren. Das folgende Skript zeigt einen möglichen Weg:

Bash
#!/bin/ksh
export ORACLE_HOME=/opt/app/oracle/product/11.2.0
export ORACLE_SID=mydb
export PATH=$PATH:$ORACLE_HOME/bin
 
`cd /opt/app/oracle/admin/${ORACLE_SID}/bdump`
currentMonth=`date +%m`
currentyear=`date +%y`
case "$currentMonth" in
  01)
    fileTag="Dec";;
  02)
    fileTag="Jan";;
  03)
    fileTag="Feb";;
  04)
    fileTag="Mar";;
  05)
    fileTag="Apr";;
  06)
    fileTag="May";;
  07)
    fileTag="Jun";;
  08)
    fileTag="Jul";;
  09)
    fileTag="Aug";;
  10)
    fileTag="Sep";;
  11)
    fileTag="Oct";;
  12)
    fileTag="Nov";;
esac
 
`mv /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert_${ORACLE_SID}.log /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert_${_${fileTag}_${currentye
ar}.log`
`tar -cvf /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert_${ORACLE_SID}_$fileTag_$currentyear.zip /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert
_${ORACLE_SID}_${fileTag}_${currentyear}.log`
`compress /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert_${ORACLE_SID}_${fileTag}_${currentyear}.zip`
`rm -f /opt/app/oracle/admin/${ORACLE_SID}/admin/bdump/alert_${ORACLE_SID}_${fileTag}_${currentyear}.log`
exit