DBA Tips and Tricks - Part 2

In Part 1 we have discussed how to derive ORACLE_HOME, ORACLE_SID etc from oratab file located at /etc/oratab (in AIX/LINUX) /var/opt/oratab (in Solaris). we will derive some more environment variables from the oratab file.
See also: DBA Tips and Tricks - Part 3


[oracle@usha /]$ echo ORACLE_HOME=`cat /etc/oratab |egrep ':N|:Y'|cut -f2 -d':'`
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

[oracle@usha /]$ echo DBA=`echo $ORACLE_HOME|sed -e 's:/product/.*::g'`/admin
DBA=/u01/app/oracle/admin
[oracle@usha /]$

Now lets write a shell script that loops into admin and all its subdirectories and delete all files older than 7 days. (Oracle 10 g version)

#!/bin/bash

for ORACLE_SID in `cat /etc/oratab |egrep ':N|:Y'|grep -v \*|cut -f1 -d':'`
do

ORACLE_HOME= `cat /etc/oratab |egrep ':N|:Y'|grep -v \*|cut -f2 -d':'`
DBA=`echo $ORACLE_HOME|sed -e 's:/product/.*::g'`/admin

# Delete all .trc files from bdump directory older than 14 days
find $DBA/$ORACLE_SID/bdump -name \*.trc -mtime +14 -exec rm {} \;
find $DBA/$ORACLE_SID/udump -name \*.trc -mtime +14 -exec rm {} \;
find $ORACLE_HOME/rdbms/audit -name \*.aud -mtime +14 -exec rm {} \;

done



Now lets write a shell script that loops into admin and all its subdirectories and delete all files older than 7 days. (Oracle 11 g version).

In Oracle 11g, Oracle introduced ADR and all Diagnostic files are created under ADR BASE Directory. Please visit ADR page to learn about ADR .
SQL> select name,value from v$diag_info;

NAME                                               VALUE
-------------------------------- ------------------------------------------------------------
Diag Enabled                                     TRUE
ADR Base                                         /u01/app/oracle
ADR Home                                        /u01/app/oracle/diag/rdbms/testdb/DB11G
Diag Trace                                         /u01/app/oracle/diag/rdbms/testdb/DB11G/trace
Diag Alert                                          /u01/app/oracle/diag/rdbms/testdb/DB11G/alert
Diag Incident                                      /u01/app/oracle/diag/rdbms/testdb/DB11G/incident
Diag Cdump                                       /u01/app/oracle/diag/rdbms/testdb/DB11G/cdump
Health Monitor                                   /u01/app/oracle/diag/rdbms/testdb/DB11G/hm
Default Trace File                              /u01/app/oracle/diag/rdbms/testdb/DB11G/trace/DB11G_ora_22158.trc

#!/bin/bash

for ORACLE_SID in `cat /etc/oratab |egrep ':N|:Y'|grep -v \*|cut -f1 -d':'`
do

ORACLE_HOME= `cat /etc/oratab |egrep ':N|:Y'|grep -v \*|cut -f2 -d':'`
ADR_HOME=`echo $ORACLE_HOME|sed -e 's:/product/.*::g'`/diag/rdbms/testdb/DB11G

# Delete all .trc files from bdump directory older than 14 days
find $ADR_HOME/trace -name \*.trc -mtime +14 -exec rm {} \;
find $ADR_HOME/trace -name \*.trm -mtime +14 -exec rm {} \;
find $ADR_HOME/alert -name \*.xml -mtime +14 -exec rm {} \;
find $ADR_HOME/incident -name \*.inc -mtime +14 -exec rm {} \;
find $ADR_HOME/cdump -name \*.dmp -mtime +14 -exec rm {} \;

done



Comments