Is ADR Really Automatic?

Feb 9, 2011 / By Fahd Mirza

Tags: ,

Oracle has consolidated the diagnostic information of database under one umbrella called as Automatic Diagnostic Repository (ADR). This repository is XML-based and that opens up new vistas for future Oracle diagnostic tools to manipulate the hierarchical data.

The beauty of ADR is that it cleanly separates out the diagnostic data churned out by different components, like RDBMS and ASM instances have their own corresponding ADR homes. Each ADR home then divides different types of traces and dumps in their corresponding and familiar sub-directories like alert file in alert directory and trace files from background processes, SQL traces etc in trace directories. All these homes corresponds to one ADR base which is set by initialization parameter DIAGNOSTIC_DEST.

ADR also maintains the client side tracing and creates it’s separate home under the same base. If the user accessing the database hasn’t got rights on the ADR base at the OS level, then the trace files are generated in that user’s home directory. In order to disable that give write rights to that user on ADR base at OS level, and if you want to disable the ADR client side tracing, put DIAG_ADR_ENABLED=OFF in sqlnet.ora file at the server.

There is much more the ADR and it needs improvement in many corners like respecting the automatic rotation of files through short and long policies, givingĀ  more control over generation of files, purging and rotation of all the trace files including legacy alert and listener log files, and also containing the huge number of files generated. These problems with ADR doesn’t justify the word ‘Automatic’ in ADR’s name IMHO.

One Response to “Is ADR Really Automatic?”

  • Andy Klock says:

    Well put Fahd. Managing the ADR is far from “automatic” and takes some effort to do it properly. The adrci is pretty powerful and with the purge parameter in batch mode, it can be added to existing file clean up scripts. Though, I predict that Oracle 12 will have this repository “clean up” highly configurable and will be more self managed. I think the term “automatic” really comes into play when you see what goes on behind the scenes when the rdbms experiences critical errors. Previous to 11g if you received a strange ORA-00600/ORA-07445 you’d have to go through the Metalink dance grabbing files, confirming system parameters, or worse, forced to run RDA and then have to start the whole process all over again. In 11g, with every “incident” Oracle dumps trace information, runs diagnostic checks, and then neatly associates all this data to the incident “automatically” which can later be packaged and sent to Oracle. For DBAs this is very nice, how the other software stacks tracing to the ADR follow suit will remain to be seen.

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>