| |
 |
|
Oracle Tips by Burleson Consulting
|
Delete all old Oracle trace
and audit files more than 14 days old
Here is an example of a UNIX script for keeping the archived redo
log directory free of elderly files. As we know, it is important to
keep room in this directory, because Oracle may “lock-up” if he
cannot write a current redo log to the archived redo log filesystem.
This script could be used in coordination with Oracle Recovery
Manager (rman) to only remove files after a full backup has been
taken.
clean_arch.ksh
#!/bin/ksh
# Cleanup archive logs more than 7 days old
find /u01/app/oracle/admin/mysid/arch/arch_mysid*.arc -ctime +7
-exec rm {}
;
Now that we see how to do the cleanup for an individual directory,
we can easily expand this approach to loop through every Oracle
database name on the server (by using the oratab file), and remove
the files from each directory. If you are using Solaris the oratab
is located in /var/opt/oratab while HP/UX and AIX have the oratab
file in the /etc directory.
clean_all.ksh
#!/bin/ksh
for ORACLE_SID in `cat /etc/oratab|egrep ':N|:Y'|grep -v \*|cut -f1
-d':'`
do
ORACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID:|cut -d":" -f2`
DBA=`echo $ORACLE_HOME | sed -e 's:/product/.*::g'`/admin
find $DBA/$ORACLE_SID/bdump -name \*.trc -mtime +14 -exec rm {} \;
$DBA/$ORACLE_SID/udump -name \*.trc -mtime +14 -exec rm {} \;
find $ORACLE_HOME/rdbms/audit -name \*.aud -mtime +14 -exec rm {} \;
done
The above script loops through each database, visiting the bdump,
udump and audit directories, removing all files more than 2 weeks
old.
|
Download your Oracle scripts now:
www.oracle-script.com
The
definitive Oracle Script collection for every Oracle professional DBA
|
|