See What we are Talking About!
Sean Howe, CommitDBA Lead DBA
July 19, 2012
An uncommon, but troubling error that I have encountered includes Oracle’s ADR directory. Beginning with 11G, the format and location of your alert log and trace files changed. You may display the location of your ADR with the following command within sql*plus.
Show parameter diagnostic_dest;
It is very common for this location to begin in ORACLE_BASE.
You have exhausted your disk space on the volume where your ADR is located. This has resulted in one of the two following errors
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x0] [PC:0xEF5875, dbgripsorx_swpobj_range_wctx()+1549]ERROR: Unable to normalize symbol name for the following short stack (at offset 213):
Exception [type: SIGBUS, Invalid address alignment] [ADDR:0xFFFFFFFF7DF7A1DF] [PC:0x107329544, dbgripuse_unpickle_section_elements()+1124] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/prts/prts/trace/prts_m000_26636.trc (incident=36130):
ORA-07445: exception encountered: core dump [dbgripuse_unpickle_section_elements()+1124] [SIGBUS] [ADDR:0xFFFFFFFF7DF7A1DF] [PC:0x107329544] [Invalid address alignment] 
The second error is described in Oracle bug 10169244 impacting database version 188.8.131.52 to 184.108.40.206. However, similar situation have been encountered resulting in the first error as a result of a corrupt ADR home. The environment was Windows Server 2003 64-bit.
First look to see if you may have exhausted your disk space where the ADR is located. If you can confirm that has occurred, then most likely this is the problem. Also, verify all of the operating system permissions on your ADR folder and oracle sub-folders. If Oracle is unable to write to this location then the database will re-locate ADR to %ORACLE_HOME%.
Recreate the oracle ADR home. The bug description on Oracle’s website indicates that you can do this while the database is running; however, that has not been my experience. You should shutdown Oracle and stop all services in order for Oracle to automatically recreate the ADR folder and its underlying directory structures.
- Show parameter diagnostic_dest from within sql*plus
- Shutdown oracle database services
- Go to your ADR home for this database ( /app/oracle/diag/rdbms/orcl/orcl )
- Rename the last directory (orcl in this case).
- Start oracle database services
- Verify that the new ADR folder has been created.
If you do not currently monitor disk space on your oracle database, CommitDBA would be pleased to assist you.
Sean Howe, Sr. Database Specialist