常用脚本

清理Oracle日志及文件
本文介绍如何使用find命令删除Oracle环境中超过指定时间的日志文件和归档文件,包括核心转储文件(coredump)、用户转储文件(udump)、网络日志等,并通过crontab设置定时任务实现自动化清理。

刪除/disk1_cx300/archlog/ 下超過7的以.dbf結尾的文件
find /disk1_cx300/archlog/ -mtime +7 -name "*.dbf"  -exec rm {} \;

刪除在/u01/oracle/oradata/bkdb/arch下比arch_1_2650.log更舊的文件(包括arch_1_2650.log)
find /u01/oracle/oradata/bkdb/arch -type f ! -newer arch_1_2650.log -exec rm {} \;

清除log
crontab -l oracle|grep  /apps/oracle/jobs/clear_ora_log.sh
0 * * * 6 /apps/oracle/jobs/clear_ora_log.sh ohub salary > /dev/null 2>&1
root@hrdb # cat /apps/oracle/jobs/clear_ora_log.sh
#!/bin/ksh
#clear oracle logs,include: 1).core dump; 2).udump; 3).network logs

if [ -z "$1" ]
then
   echo "Usage: check_alert_log.sh "
   exit 99
fi

loop=0
while [ $# -ne 0 ]
do
  #echo $1
  check=`cat /var/opt/oracle/oratab|grep -i "\"|wc -l`
  tmp=`expr $check`      # Convert string to number
  if [ $tmp -lt 1 ]
  then
     echo
     echo "Not a valid ORACLE_SID.  Retry."
     echo
     exit 99
  fi

  ORACLE_SID=$1
  HOME=/apps/oracle
  ORACLE_HOME=`cat /var/opt/oracle/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'`
  UDUMP_DEST=$HOME/admin/$ORACLE_SID/udump
  CDUMP_DEST=$HOME/admin/$ORACLE_SID/cdump
  export HOME ORACLE_SID ORACLE_HOME UDUMP_DEST

  #1.clear core dump
  cd $ORACLE_HOME/dbs
  rm -rf core_*
  cd $CDUMP_DEST
  rm -rf core_*

  #2). clear udump
  cd $UDUMP_DEST
  find . -name "*.trc" -ctime +3 -print|xargs rm -f

  #3). clear network log        
  cd $ORACLE_HOME/network/log
  >listener.log
  >sqlnet.log

  shift
done

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8203880/viewspace-310330/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8203880/viewspace-310330/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值