签到成功

知道了

CNDBA社区CNDBA社区

Oracle ADRCI工具使用说明

2018-11-22 15:52 2422 0 原创 Oracle 11G
作者: Expect-乐

1.ADRCI介绍

ADRCI是一个命令行工具,是Oracle 11g中引入的故障可诊断性架构的一部分。 ADRCI可以完成以下:

  • 查看自动诊断信息库(ADR)中的诊断数据。
  • 查看Health Monitor报告。
  • 将事件和问题信息打包到zip文件中以传输到Oracle Support。

2.使用

adrci无需单独安装,只要配置了ORACLE_HOME和PATH环境变量即可,直接输入adrci即可。

2.1.设置ADR HOME

在使用ADRCI之前需要设置ADR HOME,设置ADR HOME是为了指定ADRCI诊断数据是来自哪个实例。如:

http://www.cndba.cn/Expect-le/article/3166

adrci> show home
ADR Homes:
diag/rdbms/cndba/cndba1
diag/clients/user_oracle/host_1874443374_110
diag/diagtool/user_oracle/adrci_1874443374_110
adrci> set home diag/rdbms/cndba/cndba1 或 set [homes|homepath] 

—查看当前ADR HOME

adrci> show home
ADR Homes:
diag/rdbms/cndba/cndba1

 2.2.查看告警日志

从11g开始,告警日志信息会同时写入XML格式和文本格式的文件中。可以通过文本编辑器查看文本格式的告警日志,或者通过ADRCI工具来查看XML格式的告警日志。默认情况下,ADRCI会以当前环境默认编辑器来显示告警日志,当然可以通过SET EDITOR命令来修改默认编辑器。然后通过SHOW ALERT命令来查看告警日志信息。
如:http://www.cndba.cn/Expect-le/article/3166

adrci> show alert
ADR Home = /u01/app/oracle/diag/rdbms/cndba/cndba1:
*************************************************************************
2018-11-12 11:23:09.070000 +08:00
Starting ORACLE instance (normal) (OS id: 31600)

注:如果没有设置ADR HOME,那么会提示你选择ADR HOME。如:

adrci> show alert
Choose the home from which to view the alert log:

1: diag/rdbms/cndba/cndba1
2: diag/clients/user_oracle/host_1874443374_110
3: diag/diagtool/user_oracle/adrci_1874443374_110
Q: to quit
Please select option:

SHOW ALERT命令的参数:http://www.cndba.cn/Expect-le/article/3166

  • SHOW ALERT -TAIL
    显示日志的最后10组信息
  • SHOW ALERT -TAIL 50
    指定显示最后多少组信息
  • SHOW ALERT -TAIL -F
    动态增量显示告警日志信息
  • 重定向输出到文件中
    SPOOL /home/oracle/MYALERT.LOG
    SHOW ALERT -TERM
    SPOOL OFF
    
  • 查看指定错误的日志,如ORA-600
    SHOW ALERT -P “MESSAGE_TEXT LIKE ‘%ORA-600%’”
    除了可以根据错误信息来查看日志,还可以根据进程号,用户ID等等,如:
      Field    Type
      ORIGINATING_TIMESTAMP    timestamp
      NORMALIZED_TIMESTAMP    timestamp
      ORGANIZATION_ID    text(65)
      COMPONENT_ID    text(65)
      HOST_ID    text(65)
      HOST_ADDRESS    text(17)
      MESSAGE_TYPE    number
      MESSAGE_LEVEL    number
      MESSAGE_ID    text(65)
      MESSAGE_GROUP    text(65)
      CLIENT_ID    text(65)
      MODULE_ID    text(65)
      PROCESS_ID    text(33)
      THREAD_ID    text(65)
      USER_ID    text(65)
      INSTANCE_ID    text(65)
      DETAILED_LOCATION    text(161)
      UPSTREAM_COMP_ID    text(101)
      DOWNSTREAM_COMP_ID    text(101)
      EXECUTION_CONTEXT_ID    text(101)
      EXECUTION_CONTEXT_SEQUENCE    number
      ERROR_INSTANCE_ID    number
      ERROR_INSTANCE_SEQUENCE    number
      MESSAGE_TEXT    text(2049)
      MESSAGE_ARGUMENTS    text(129)
      SUPPLEMENTAL_ATTRIBUTES    text(129)
      SUPPLEMENTAL_DETAILS    text(129)
      PROBLEM_KEY    text(65)
    

2.3.查找Trace文件

可以通过SHOW TRACEFILE命令来查看当前ADR中的所有trace文件名称,也可以通过条件进行过滤查找,包括:http://www.cndba.cn/Expect-le/article/3166http://www.cndba.cn/Expect-le/article/3166

  • 获取文件名与搜索字符串匹配的trace文件列表。
  • 获取特定目录中的trace文件列表。
  • 获取与特定事件有关的trace文件列表。

SHOW TRACEFILE命令及相关参数的说明:

  • SHOW TRACEFILE
    默认显示当前ADR HOME下的所有trace文件:
    diag/rdbms/cndba/cndba1/trace/cndba1_m000_16021.trc
    diag/rdbms/cndba/cndba1/trace/cndba1_m000_15327.trc
    diag/rdbms/cndba/cndba1/trace/cndba1_m000_13473.trc
    
  • SHOW TRACEFILE %mmon%
    查看文件名称包括mmon的trace文件
  • SHOW TRACEFILE %mmon% -PATH /home/steve/temp
    查找指定路径下,并且包括mmon的trace文件
  • SHOW TRACEFILE -RT
    按照trace文件修改时间降序排列显示,最新的trace文件显示在最前面。
  • SHOW TRACEFILE -I 1681
    查找事件(incident)号是1681的trace文件

2.4.查看事件-Incident

通过命令SHOW INCIDENT来查看处于打开状态的事件信息。如:http://www.cndba.cn/Expect-le/article/3166http://www.cndba.cn/Expect-le/article/3166

adrci> show incident
ADR Home = /u01/app/oracle/product/11.1.0/db_1/log/diag/rdbms/orclbi/orclbi:
*****************************************************************************
INCIDENT_ID       PROBLEM_KEY               CREATE_TIME
----------------- ------------------------- ---------------------------------
3808              ORA 603                   2007-06-18 21:35:49.322161 -07:00
3807              ORA 600 [4137]            2007-06-18 21:35:47.862114 -07:00
3805              ORA 600 [4136]            2007-06-18 21:35:25.012579 -07:00
3804              ORA 1578                  2007-06-18 21:35:08.483156 -07:00
4 rows fetched

SHOW INCIDENT的参数说明:

  • 查看更详细的事件信息

    http://www.cndba.cn/Expect-le/article/3166

    SHOW INCIDENT -MODE BRIEF
    SHOW INCIDENT -MODE DETAIL

  • 查看指定事件号的事件信息

    SHOW INCIDENT -MODE DETAIL -P “INCIDENT_ID=1681”

    http://www.cndba.cn/Expect-le/article/3166

2.5.CREATE REPORT

为指定的报告类型和运行ID创建报告,并将报告存储在ADR中。目前,仅支持hm_run(运行状况监视器)报告类型。而报告名称和报告ID可通过SHOW HM_RUN来查看,如:

**********************************************************
HM RUN RECORD 3362
**********************************************************
   RUN_ID                        75461  --报告ID
   RUN_NAME                      HM_RUN_75461  --报告名称
   CHECK_NAME                    DB Structure Integrity Check
   NAME_ID                       2
   MODE                          2
   START_TIME                    2018-11-20 06:00:07.927295 +08:00
   RESUME_TIME                   <NULL>
   END_TIME                      2018-11-20 06:00:08.048419 +08:00
   MODIFIED_TIME                 2018-11-20 06:00:08.048419 +08:00
   TIMEOUT                       0
   FLAGS                         0
   STATUS                        5
   SRC_INCIDENT_ID               0
   NUM_INCIDENTS                 0
   ERR_NUMBER                    0
   REPORT_FILE                   <NULL>
   CON_UID                       1995777824
   CONTAINER_ID                  3
   CONTAINER_NAME                CNDBAPDB
3362 rows fetched

2.5.1.创建报告

—根据报告类型“hm_run”和报告名称来创建报告

adrci> create report hm_run HM_RUN_75461

2.5.2.查看报告

show report是以XML格式来展示报告内容,可以EM或DBMS_HM包来格式化输出。http://www.cndba.cn/Expect-le/article/3166

adrci> show report hm_run HM_RUN_75461
<?xml version="1.0" encoding="US-ASCII"?>
<HM-REPORT REPORT_ID="HM_RUN_75461">
    <TITLE>HM Report: HM_RUN_75461</TITLE>
    <RUN_INFO>
        <CHECK_NAME>DB Structure Integrity Check</CHECK_NAME>
        <RUN_ID>75461</RUN_ID>
        <RUN_NAME>HM_RUN_75461</RUN_NAME>
        <RUN_MODE>REACTIVE</RUN_MODE>
        <RUN_STATUS>COMPLETED</RUN_STATUS>
        <RUN_ERROR_NUM>0</RUN_ERROR_NUM>
        <SOURCE_INCIDENT_ID>0</SOURCE_INCIDENT_ID>
        <NUM_INCIDENTS_CREATED>0</NUM_INCIDENTS_CREATED>
        <RUN_START_TIME>2018-11-20 06:00:07.927295 +08:00</RUN_START_TIME>
        <RUN_END_TIME>2018-11-20 06:00:08.048419 +08:00</RUN_END_TIME>
    </RUN_INFO>
    <RUN_PARAMETERS/>
    <RUN-FINDINGS/>
</HM-REPORT>

2.6.PURGE

用于根据指定的策略,清除ADR中的诊断数据。仅清除ADR内容。
ADR中的诊断数据都有默认生命周期。 例如,有关事件和问题的信息在一年后会被清除,而相关的转储文件(转储)仅在30天后就会被清除。
某些Oracle产品(如Oracle数据库)会在其生命周期结束时自动清除诊断数据。 而其他产品和组件需要使用此命令手动清除诊断数据。 还可以使用PURGE命令清除将要自动清除的数据。
语法:

purge [[-i {id | start_id end_id}] | [-age mins [-type      {ALERT|INCIDENT|TRACE|CDUMP|HM}]]]

具体示例:

  • purge
    根据默认策略删除当前ADR HOME下的所有诊断数据
  • purge -i 123 456
    删除123到456之间所有实践数据
  • purge -age 60 -type incident
    删除最后一小时之前所有事件的数据。
    还可以指定
    ALERT:告警日志
    TRACE:trace文件,包括转储文件

2.7.帮助

更多的命令使用可以通过“HELP”来查看,如:

adrci> help

 HELP [topic]
   Available Topics:
        CREATE REPORT
        ECHO
        ESTIMATE
        EXIT
        HELP
        HOST
        IPS
        PURGE
        RUN
        SELECT
        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 LOG
        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

查看某个命令的使用,则HELP COMMAND,如:

adrci> help purge
  Usage: PURGE [[-i <id1> | <id1> <id2>] |
               [[-age <mins>] |
                [-size <bytes>] |
                [-type {ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP|LOG} ]]]

  Purpose: Purge the diagnostic data in the current ADR home. If no
           option is specified, the default purging policy will be used.

  Options:
    [-i id1 | id1 id2]: Purge a single specified incident, or a range
    of incidents.

    [-age <mins>]: Purge diagnostic data older than <mins> from the
    ADR home, if the data is purgable.

    [-size <bytes>]: Purge diagnostic data from the ADR home until the size
    of the home reaches <bytes> bytes.

    [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP|LOG]: Purge a specific
    type of data.

  Notes:
    When purging by size, only INCIDENT, TRACE, CDUMP and UTSCDMP data
    is considered.

    Some data can not be purged (such as incidents in the 'tracked' state),
    which means that the specified target size may not be reached in all cases.

  Examples:
    purge
    purge -i 123 456
    purge -age 60 -type incident
    purge -size 10000000

版权声明:本文为博主原创文章,未经博主允许不得转载。

adrci purge

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1547822次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ