Sunday, May 15, 2011

ADRCI Oracle 11g command line utility

ADRCI (Automatic Diagnostic Repository Command line interpreter)  is new utility introduced in Oracle 11g. ADRCI is part of fault diagnostic infrastructure and used for :
  • View diagnostic data in ADR
  • View Health Monitor Report
  • Package information for Oracle support
ADRCI can be used in interactive mode or in scripts. It is file based repository for database diagnostic data for example traces, alert log. health monitor reports and much more. It provides diagnostic infrastructure for single instance database and Oracle Real Application Cluster.

In order to use ADRCI, you need to setup following parameters (tested on Oracle on AIX):

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LIBPATH=$ORACLE_HOME/lib

$ adrci
ADRCI: Release 11.2.0.2.0 - Production on Sat May 14 12:49:41 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
ADR base = "/oracle"
adrci> help  
 HELP [topic]
   Available Topics:
        CREATE REPORT
        ECHO
        EXIT
        HELP
        HOST
        IPS
        PURGE
        RUN
        SET BASE
        SET BROWSER
        SET CONTROL
        SET ECHO
        SET EDITOR
        SET HOMES | HOME | HOMEPATH
        SET TERMOUT
        SHOW ALERT
        SHOW BASE
        SHOW CONTROL
        SHOW HM_RUN
        SHOW HOMES | HOME | HOMEPATH
        SHOW INCDIR
        SHOW INCIDENT
        SHOW PROBLEM
        SHOW REPORT
        SHOW TRACEFILE
        SPOOL
 There are other commands intended to be used directly by Oracle, type
 "HELP EXTENDED" to see the list
adrci>

If you have multiple homes, you would need to set to one :
adrci> show homes
ADR Homes:
diag/rdbms/etltst/etltst
diag/rdbms/gprptst/gprptst

adrci> set home diag/rdbms/etltst/etltst
adrci> set home diag/rdbms/etltst/etltst
adrci> show alert -tail -f      2011-05-14 12:53:41.878000 -04:00
  Tns error struct:
    ns main err code: 12535
   
TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.98.200.171)(PORT=34814))
WARNING: inbound connection timed out (ORA-3136)
2011-05-14 12:54:12.044000 -04:00

Purge all traces which are older than 60 minutes:
adrci> purge -age 60 -type trace

Following outputs the alert log, without XML tags:

adrci> SHOW ALERT -P "MESSAGE_TEXT LIKE '%ORA-600%'"This displays only alert log messages that contain the string 'ORA-600'. The output looks something like this:
ADR Home = /oracle/product/11r2/db_1/log/diag/rdbms/orclbi/orclbi:
******************************************************************************
01-SEP-06 09.17.44.849000000 PM -07:00
AlertMsg1: ORA-600 dbgris01, addr=0xa9876541
You can also use Oracel Enterprise Manager to review diagnostic by going to Software and Support and then to support workbench:





There is much more...................keep exploring...............