How to Clean up Trace and Audit Files for Multiple Homes
I’ve been working on a simple method to clean up audit and trace files for multiple homes.
Let’s see how grid and database homes can be found from oratab.
$ sort -u -t : -k 2,2 /etc/oratab | grep -v "^#" | awk -F ":" '{print $2}'
/u01/app/19.0.0.0/grid
/u02/app/oracle/product/12.2.0/dbhome_2
/u02/app/oracle/product/12.2.0/dbhome_3
/u02/app/oracle/product/12.2.0/dbhome_4
/u02/app/oracle/product/12.2.0/dbhome_6
/u02/app/oracle/product/12.2.0/dbhome_7
/u02/app/oracle/product/19.0.0.0/dbhome_2
Here is the cron job to remove trace and audit files from grid and database homes:
49 14 * * * find /u01/app/grid/diag/crs/*/crs/trace -name "*.tr?" -mtime +30 -exec rm -f {} \;
49 14 * * * find /u02/app/oracle/product/*/*/rdbms/audit -name "*.aud" -mtime +366 -exec rm -f {} \;
49 14 * * * find /u02/app/oracle/product/*/*/rdbms/log -name "*.tr?" -mtime +200 -exec rm -f {} \;
49 14 * * * find /u02/app/oracle/product/*/*/rdbms/log -name "cdmp*" -mtime +200 -exec rm -rf {} \;
49 14 * * * find /u02/app/oracle/diag/rdbms/*/*/cdump -name "core*" -mtime +200 -exec rm -rf {} \;
Let’s take a look at what the * in the directory path represents.
ls -ld /u01/app/grid/diag/crs/*/crs/trace * = hostname Example: $ ls -ld /u01/app/grid/diag/crs/*/crs/trace drwxrwxr-x 2 grid oinstall 135168 Mar 26 18:40 /u01/app/grid/diag/crs/hostname/crs/trace ls -ld /u02/app/oracle/product/*/*/rdbms/audit */* = version/dbhome Example: $ ls -ld /u02/app/oracle/product/*/*/rdbms/audit drwxr-xr-x 9 oracle oinstall 614400 Mar 26 18:32 /u02/app/oracle/product/12.2.0/dbhome_2/rdbms/audit drwxr-xr-x 2 oracle oinstall 253952 Mar 26 18:40 /u02/app/oracle/product/12.2.0/dbhome_3/rdbms/audit drwxr-xr-x 2 oracle oinstall 294912 Mar 26 18:32 /u02/app/oracle/product/12.2.0/dbhome_4/rdbms/audit drwxr-xr-x 4 oracle oinstall 94208 Mar 26 18:32 /u02/app/oracle/product/12.2.0/dbhome_6/rdbms/audit drwxr-xr-x 2 oracle oinstall 4096 Mar 1 02:31 /u02/app/oracle/product/12.2.0/dbhome_7/rdbms/audit drwxr-xr-x 3 oracle oinstall 5783552 Mar 26 18:32 /u02/app/oracle/product/19.0.0.0/dbhome_2/rdbms/audit ls -ld /u02/app/oracle/diag/rdbms/*/*/cdump */* = db_unique_name/db_name Example: $ ls -ld /u02/app/oracle/diag/rdbms/*/*/cdump drwxr-xr-x 2 oracle asmadmin 4096 Sep 3 2020 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Sep 2 2020 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Sep 21 2020 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Feb 17 02:35 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Sep 21 2020 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Feb 18 21:51 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump drwxr-xr-x 2 oracle asmadmin 4096 Sep 25 07:13 /u02/app/oracle/diag/rdbms/db_unique_name/db_name/cdump ls -l /u02/app/oracle/product/*/*/rdbms/log/*.tr? */* = version/dbhome Example: $ ls -l /u02/app/oracle/product/*/*/rdbms/log/*.tr? -rw-r----- 1 oracle asmadmin 868 Feb 19 17:41 /u02/app/oracle/product/12.2.0/dbhome_2/rdbms/log/*******2_ora_57506.trc -rw-r----- 1 oracle asmadmin 868 Dec 4 18:06 /u02/app/oracle/product/12.2.0/dbhome_2/rdbms/log/*******2_ora_66404.trc -rw-r----- 1 oracle asmadmin 862 Mar 24 19:38 /u02/app/oracle/product/12.2.0/dbhome_3/rdbms/log/*****2_ora_217755.trc -rw-r----- 1 oracle asmadmin 869 Feb 18 21:51 /u02/app/oracle/product/12.2.0/dbhome_4/rdbms/log/*****2_ora_351349.trc -rw-r----- 1 oracle asmadmin 867 Feb 19 17:41 /u02/app/oracle/product/12.2.0/dbhome_4/rdbms/log/*****2_ora_57519.trc -rw-r----- 1 oracle asmadmin 866 Mar 1 20:01 /u02/app/oracle/product/12.2.0/dbhome_6/rdbms/log/******2_ora_167170.trc -rw-r----- 1 oracle asmadmin 831 Mar 1 02:31 /u02/app/oracle/product/12.2.0/dbhome_7/rdbms/log/*****2_ora_314160.trc
That’s how I clean up old audit and trace files.
I hope this can help you, too.
If you have any questions or thoughts, please leave them in the comments.
Ready to optimize your Oracle Database for the future?
On this page
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
How To Resolve Database Software Install To Incorrect Location
How To Resolve Database Software Install To Incorrect Location
Nov 13, 2019 12:00:00 AM
7
min read
Testing the 19c Grid Infrastructure by Performing a Dry-Run Upgrade
Testing the 19c Grid Infrastructure by Performing a Dry-Run Upgrade
Dec 15, 2020 12:00:00 AM
6
min read
Oracle Trace Files in User Directories
Oracle Trace Files in User Directories
Mar 21, 2013 12:00:00 AM
4
min read
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.