About the Oracle Database Fault Diagnosability Infrastructure
https://docs.oracle.com/cd/B28359_01/server.111/b28310/diag001.htm#ADMIN11257
Alert Log
The alert log is an XML file that is a chronological log of database messages and errors. It is stored in the ADR and includes messages about the following:
-
Critical errors (incidents)
-
Administrative operations, such as starting up or shutting down the database, recovering the database, creating or dropping a tablespace, and others.
-
Errors during automatic refresh of a materialized view
-
Other database events
You can view the alert log in text format (with the XML tags stripped) with Enterprise Manager and with the ADRCI utility. There is also a text-formatted version of the alert log stored in the ADR for backward compatibility. However, Oracle recommends that any parsing of the alert log contents be done with the XML-formatted version, because the text format is unstructured and may change from release to release.
Trace Files, Dumps, and Core Files
Trace files, dumps, and core files contain diagnostic data that are used to investigate problems. They are stored in the ADR.
Trace Files
Each server and background process can write to an associated trace file. Trace files are updated periodically over the life of the process and can contain information on the process environment, status, activities, and errors. In addition, when a process detects a critical error, it writes information about the error to its trace file. The SQL trace facility also creates trace files, which provide performance information on individual SQL statements. You can enable SQL tracing for a session or an instance.
Trace file names are platform-dependent. Typically, database background process trace file names contain the Oracle SID, the background process name, and the operating system process number, while server process trace file names contain the Oracle SID, the string "ora", and the operating system process number. The file extension is .trc
. An example of a server process trace file name is orcl_ora_344.trc. Trace files are sometimes accompanied by corresponding trace map (.trm
) files, which contain structural information about trace files and are used for searching and navigation.
Oracle Database includes tools that help you analyze trace files. For more information on application tracing, SQL tracing, and tracing tools, see Oracle Database Performance Tuning Guide.
See Also:
Dumps
A dump is a specific type of trace file. A dump is typically a one-time output of diagnostic data in response to an event (such as an incident), whereas a trace tends to be continuous output of diagnostic data. When an incident occurs, the database writes one or more dumps to the incident directory created for the incident. Incident dumps also contain the incident number in the file name.
Core Files
A core file contains a memory dump, in an all-binary, port-specific format. Core file names include the string "core" and the operating system process ID. Core files are useful to Oracle Support engineers only. Core files are not found on all platforms.
Other ADR Contents
In addition to files mentioned in the previous sections, the ADR contains health monitor reports, data repair records, SQL test cases, incident packages, and more. These components are described later in the chapter.
Enterprise Manager Support Workbench
The Enterprise Manager Support Workbench (Support Workbench) is a facility that enables you to investigate, report, and in some cases, repair problems (critical errors), all with an easy-to-use graphical interface. The Support Workbench provides a self-service means for you to gather first-failure diagnostic data, obtain a support request number, and upload diagnostic data to Oracle Support with a minimum of effort and in a very short time, thereby reducing time-to-resolution for problems. The Support Workbench also recommends and provides easy access to Oracle advisors that help you repair SQL-related problems, data corruption problems, and more.
ADRCI Command-Line Utility
The ADR Command Interpreter (ADRCI) is a utility that enables you to investigate problems, view health check reports, and package and upload first-failure diagnostic data to Oracle Support, all within a command-line environment. ADRCI also enables you to view the names of the trace files in the ADR, and to view the alert log with XML tags stripped, with and without content filtering.
For more information on ADRCI, see Oracle Database Utilities.
Structure, Contents, and Location of the Automatic Diagnostic Repository
The Automatic Diagnostic Repository (ADR) is a directory structure that is stored outside of the database. It is therefore available for problem diagnosis when the database is down.
The ADR root directory is known as ADR base. Its location is set by the DIAGNOSTIC_DEST
initialization parameter. If this parameter is omitted or left null, the database sets DIAGNOSTIC_DEST
upon startup as follows:
-
If environment variable
ORACLE_BASE
is set,DIAGNOSTIC_DEST
is set to the directory designated byORACLE_BASE
. -
If environment variable
ORACLE_BASE
is not set,DIAGNOSTIC_DEST
is set to ORACLE_HOME/log.
Within ADR base, there can be multiple ADR homes, where each ADR home is the root directory for all diagnostic data—traces, dumps, the alert log, and so on—for a particular instance of a particular Oracle product or component. For example, in an Oracle Real Application Clusters environment with ASM, each database instance and each ASM instance has an ADR home. All ADR homes share the same hierarchical directory structure.
The location of an ADR home is given by the following path, which starts at the ADR base directory:
diag/product_type/product_id/instance_id
Table 8-1 lists the values of the various path components for an Oracle Database instance.
Table 8-1 ADR Home Path Components for Oracle Database
Path Component | Value for Oracle Database |
---|---|
product_type |
rdbms |
product_id |
database name |
instance_id |
SID |
For example, for a database with a SID and database name both equal to orclbi, the ADR home would be in the following location:
ADR_base/diag/rdbms/orclbi/orclbi/
ADR Home Subdirectories
Within the ADR home directory are subdirectories where the database instance stores diagnostic data. Table 8-2 lists some of these subdirectories and their contents.
Table 8-2 ADR Home Subdirectories
Subdirectory Name | Contents |
---|---|
alert |
The XML-formatted alert log |
cdump |
Core files |
incident |
Multiple subdirectories, where each subdirectory is named for a particular incident, and where each contains dumps pertaining only to that incident |
trace |
Background and server process trace files and SQL trace files |
(others) |
Other subdirectories of ADR home, which store incident packages, health monitor reports, and other information |
Figure 8-1 illustrates the directory hierarchy of the ADR for an Oracle Database instance. Other ADR homes for other Oracle products or components (such as ASM or Oracle Net Services) can exist within this hierarchy, under the same ADR base.
Figure 8-1 ADR Directory Structure for an Oracle Database Instance
Description of "Figure 8-1 ADR Directory Structure for an Oracle Database Instance"
ADR in an Oracle Real Application Clusters Environment
In an Oracle Real Application Clusters (RAC) environment, each node can have ADR base on its own local storage, or ADR base can be set to a location on shared storage. The following are the advantages of the shared storage approach:
-
You can use ADRCI to view aggregated diagnostic data from all instances on a single report.
-
You can use the Data Recovery Advisor to help diagnose and repair corrupted data blocks, corrupted or missing files, and other data failures. (For Oracle RAC, the Data Recovery Advisor requires shared storage.)
See Oracle Database 2 Day DBA for more information on the Data Recovery Advisor.
Viewing ADR Locations with the V$DIAG_INFO View
The V$DIAG_INFO
view lists all important ADR locations for the current Oracle Database instance.
SELECT * FROM V$DIAG_INFO; INST_ID NAME VALUE ------- --------------------- ------------------------------------------------------------- 1 Diag Enabled TRUE 1 ADR Base /u01/oracle 1 ADR Home /u01/oracle/diag/rdbms/orclbi/orclbi 1 Diag Trace /u01/oracle/diag/rdbms/orclbi/orclbi/trace 1 Diag Alert /u01/oracle/diag/rdbms/orclbi/orclbi/alert 1 Diag Incident /u01/oracle/diag/rdbms/orclbi/orclbi/incident 1 Diag Cdump /u01/oracle/diag/rdbms/orclbi/orclbi/cdump 1 Health Monitor /u01/oracle/diag/rdbms/orclbi/orclbi/hm 1 Default Trace File /u01/oracle/diag/rdbms/orclbi/orclbi/trace/orcl_ora_22769.trc 1 Active Problem Count 8 1 Active Incident Count 20
The following table describes some of the information displayed by this view.
Table 8-3 Data in the V$DIAG_INFO View
Name | Description |
---|---|
ADR Base |
Path of ADR base |
ADR Home |
Path of ADR home for the current database instance |
Diag Trace |
Location of background process trace files, server process trace files, SQL trace files, and the text-formatted version of the alert log |
Diag Alert |
Location of the XML-formatted version of the alert log |
Default Trace File |
Path to the trace file for the current session |