Databases Reference
In-Depth Information
CHAPTER 37
■ ■ ■
ORADEBUG SQL*Plus
Command
T he SQL*Plus command ORADEBUG is very useful for diagnosing performance and hanging
issues. Among other things, it may be used to verify that the correct IP addresses are used for
Real Application Clusters inter-instance communication. In releases prior to Oracle11 g , ORADEBUG
TRACEFILE_NAME is the only way to determine the name of the trace file a process is writing to. 1
The manual Oracle9i Real Application Clusters Administration Release 2 contains an
example of an ORADEBUG DUMP command. Oracle9i Database Administrator's Guide Release 2 (9.2) for
Windows contains a section entitled “Using ORADEBUG Utility”. Yet, the information provided
is very fragmentary, since the requirement to attach to a process before running any further
commands is undocumented. In Oracle10 g and Oracle11 g , the only hints on the existence of
ORADEBUG are in the Error Messages Guide .
Introduction to ORADEBUG
Since ORADEBUG is primarily intended for use by Oracle Support personnel, it has remained
largely undocumented since its introduction with SQL*Plus release 7.3. However, many ORADEBUG
commands are very useful even for novice DBAs.
As the name suggests, ORADEBUG functionality serves debugging and tracing purposes.
ORADEBUG is a SQL*Plus command, which may be entered at the SQL*Plus prompt without any
special requirements, except a connection to a DBMS instance with SYSDBA privileges. It may
be used to
￿
enable SQL trace in your own server process or a foreign server process
￿
figure out which trace file a process is writing to
￿
dump internal ORACLE structures for diagnosing database hangs or memory corruptions
￿
dump information from data file headers or undo segments headers
￿
determine which shared memory segments and semaphores a DBMS instance uses
In Oracle11 g , the column TRACEFILE has been added to the V$ fixed view V$PROCESS .
1.
479
 
Search WWH ::




Custom Search