#crontab
30 8 * * * /ora/u01/scripts/clean_log.sh > /dev/null 2>&1
#######################################################################
################archive log
#!/bin/bash
. /home/oracle/.bash_profile
--------------------
#every day archivelog about 400G
--------------------
export ORACLE_SID=ORCL
$ORACLE_HOME/bin/rman log=/oracle/archlog/ORCL/clean.log <<EOF
connect target /
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before ‘sysdate - 3’;
}
exit;
EOF
#################arlert log
#!/bin/bash
#---------------------
#alert about 30m every month
#---------------------
cd
O
R
A
C
L
E
B
A
S
E
/
d
i
a
g
/
r
d
b
m
s
/
O
R
C
L
/
{ORACLE_BASE}/diag/rdbms/ORCL/
ORACLEBASE/diag/rdbms/ORCL/ORACLE_SID/trace
export SIZE=du -m alert_${ORACLE_SID}.log | cut -f1
if [ KaTeX parse error: Expected 'EOF', got '#' at position 23: …-ge 30 ]; then #̲cp alert_{ORACLE_SID}.log /oracle/rmanbackup/oracle_log/alert/alert_KaTeX parse error: Expected group after '_' at position 49: ….log cp alert_̲{ORACLE_SID}.log /oracle/rmanbackup/oracle_log/alert/alert_KaTeX parse error: Expected 'EOF', got '#' at position 39: …m%d%H%M%S`.log #̲cat /dev/null >…{ORACLE_SID}.log
truncate -s 0 alert_${ORACLE_SID}.log
fi
find . -mtime +30 -name “.trc" | xargs rm -rf
find . -mtime +30 -name ".trm” | xargs rm -rf
#################listener log
#!/bin/bash
#---------------------
#listener.log about 100m every 8 month,listener.xml about 200m every month
#---------------------
cd $ORACLE_BASE/diag/tnslsnr/hostname
/listener/trace
export SIZE=du -m listener.log | cut -f1
if [ $SIZE -ge 100 ]; then
#lsnrctl set log_status off
#mv listener.log /oracle/rmanbackup/oracle_log/listener/listener_date +%Y%m%d%H%M%S
.log
cp listener.log /oracle/rmanbackup/oracle_log/listener/listener_date +%Y%m%d%H%M%S
.log
truncate -s 0 listener.log
#lsnrctl set log_status on
fi
cd $ORACLE_BASE/diag/tnslsnr/hostname
/listener_orcl/alert
find . -mtime +30 -name “log_*.xml” | xargs rm -rf
#################audit log
#!/bin/bash
#---------------------
#audit log about 2GB every month,but aud$ table will exist system tablespace,please noted
#---------------------
cd $ORACLE_HOME/rdbms/audit
find . -mtime +30 -exec mv {} /oracle/rmanbackup/oracle_log/audit ;
exit