比如删除一个月前的trace文件
find /u01/app/oracle/diag/rdbms/testgg1/testgg1/trace -mtime +30 -type f -name "*" -exec rm -rf {} \
可以写成shell脚本如下:
[oracle@Primary shell]$ vi delete_trace.sh
#! /bin/sh
export ORACLE_SID=testgg1
VALUE=`sqlplus -S "/ as sysdba" <<EOF_SQLPLus
set pagesize 0 feedback off verify off heading off echo off
select value from v\\\$diag_info where name='Diag Trace'
exit
END`
find $VALUE -mtime +30 -type f -name "*" -exec rm -rf {} \枯裂
~
配合crontab自动删除一个月前的trace文件,由于某些数据库可能会产生trace文件比较多如果没有及时去清理这些无效的trace文件,很容易导致空间斗败旁暴空橡涨,做一个job自动去删除,免去了DBA的烦恼。
Shell可以在DBA的运维过程中带来了很多的方便,目前正在学习shell,谨以此纪录并提高自己
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)