zoukankan      html  css  js  c++  java
  • Oracle 11g 新特性 自动诊断资料档案库(ADR) 说明


    一.自动诊断资料档案库(ADR)

    1.1 ADR 说明

    ADR (AutomaticDiagnostic Repository) ,ADR 是一个基于文件的资料档案库,用于存放数据库诊断数据(如跟踪、意外事件转储和程序包、预警日志、健康状况监视器报告、核心转储等)。它对存储在任何数据库外的多个实例和多种产品使用一个统一的目录结构。因此,可用于数据库关闭时的问题诊断。从Oracle Database 11g R1 开始,数据库、自动存储管理(ASM)、集群就绪服务(CRS) 和其它Oracle 产品或组件将所有诊断数据都存储在ADR 中。每种产品的每个实例都将诊断数据存储在自己的ADR 主目录下。例如,在具有共享存储和ASM 的Real Application Clusters 环境中,每个数据库实例和每个ASM 实例在ADR 中都有一个主目录。ADR的统一目录结构对各种产品和实例使用一致的诊断数据格式,而且还有一组统一的工具,使客户和Oracle 技术支持可以相互关联并分析多个实例的诊断数据。

    从Oracle Database11g R1 开始,将忽略传统的…_DUMP_DEST 初始化参数。ADR 根目录又称为ADR 基目录,其位置由DIAGNOSTIC_DEST 初始化参数设定。如果省略此参数或将其保留为空,数据库将在启动时按如下方式设置DIAGNOSTIC_DEST:

    如果已设置了环境变量ORACLE_BASE,则将DIAGNOSTIC_DEST 设置为$ORACLE_BASE。

    如果未设置环境变量ORACLE_BASE,则将DIAGNOSTIC_DEST 设置为$ORACLE_HOME/log。

    --验证:

    [18:02 oracle@dave ~]$echo $ORACLE_BASE

    /u01/app/oracle

    [18:03 oracle@dave ~]$ora param diag

    Session altered.

    NAME                            ISDEFAULTSESMO  SYSMOD    VALUE

    ------------------------- --------- -------------- ----------------------------------------

    diagnostic_dest           FALSE     FALSE  IMMEDIATE   /u01/app/oracle

    我这里设置了ORACLE_BASE 的环境变量,所以这里的diagnostic_dest 参数使用了ORACLE_BASE的值。

    ADR 基目录中可以包含多个ADR 主目录,其中每个ADR 主目录都是一个根目录,用于存放特定Oracle 产品或组件的特定实例的全部诊断数据。前一张幻灯片的图形中显示了数据库的ADR主目录位置。

    另外,还生成了两个预警文件。一个是文本形式的预警文件(与早期版本Oracle DB 使用的预警文件非常相似),位于各个ADR 主目录的TRACE 目录下。还有一个符合XML 标准的预警消息文件,存储在ADR 主目录内的ALERT 子目录下。可使用EnterpriseManager 和ADRCI 实用程序查看文本格式的预警日志(已删除了XML 标记)。

    INCIDENT 目录包含多个子目录,每个子目录均以特定意外事件命名,并且仅包含与该意外事件相关的转储。

    HM 目录包含由健康状况监视器生成的检查器运行报告。

    还有一个METADATA 目录,其中包含资料档案库自身的重要文件。可以将此目录比作数据库字典。可使用ADRCI 查询此字典。

    ADR 命令解释器(ADRCI) 是一个实用程序,可用于执行支持工作台允许的所有任务(但是仅限于在命令行环境中)。使用ADRCI 实用程序,您还可以查看ADR 中跟踪文件的名称以及删除了XML 标记、具有和不具有内容筛选功能的预警日志。

    此外,还可以使用V$DIAG_INFO列出一些重要的ADR 位置。

    使用tree命令查看目录结构:

    [18:11 oracle@dave /u01/app/oracle/diag]$tree

    .

    |-- asm

    |-- clients

    |-- crs

    |-- diagtool

    |-- lsnrctl

    |-- netcman

    |-- ofm

    |-- rdbms

    |  `-- dave

    |      |-- dave

    |      |   |-- alert

    |      |   |   `-- log.xml

    |      |   |-- cdump

    |      |   |   |-- core_16650

    |      |   |   |-- core_18804

    |      |   |   `-- core_6039

    |      |   |-- hm

    |      |   |-- incident

    |      |   |   |-- incdir_13378

    |      |   |   |  |-- dave_cjq0_16650_i13378.trc

    |      |   |   |  `-- dave_cjq0_16650_i13378.trm

    |      |   |   |-- incdir_13458

    |      |   |   |  |-- dave_ora_18804_i13458.trc

    |      |   |   |  `-- dave_ora_18804_i13458.trm

    |      |   |   `-- incdir_8529

    |      |   |       |-- dave_mmnl_6039_i8529.trc

    |      |   |       `-- dave_mmnl_6039_i8529.trm

    |      |   |-- incpkg

    |      |   |-- ir

    |      |   |-- lck

    |      |   |   |-- AM_53417_1688101061.lck

    |      |   |   |-- AM_53417_2985279723.lck

    |      |   |   |-- AM_53419_3606358678.lck

    |      |   |   |-- AM_53421_2401899358.lck

    |      |   |   |-- AM_58174112_2445060518.lck

    |      |   |   `-- AM_994187642_3287667720.lck

    |      |   |-- metadata

    |      |   |   |-- ADR_CONTROL.ams

    |      |   |   |-- ADR_INTERNAL.mif

    |      |   |   |-- ADR_INVALIDATION.ams

    |      |   |   |-- AMS_XACTION.ams

    |      |   |   |-- DDE_USER_ACTION.ams

    |      |   |   |-- DDE_USER_ACTION_DEF.ams

    |      |   |   |-- DDE_USER_ACTION_PARAMETER.ams

    |      |   |   |-- DDE_USER_ACTION_PARAMETER_DEF.ams

    |      |   |   |-- DDE_USER_INCIDENT_ACTION_MAP.ams

    |      |   |   |-- DDE_USER_INCIDENT_TYPE.ams

    |      |   |   |-- DFW_CONFIG_CAPTURE.ams

    |      |   |   |-- DFW_CONFIG_ITEM.ams

    |      |   |   |-- EM_DIAG_JOB.ams

    |      |   |   |-- EM_TARGET_INFO.ams

    |      |   |   |-- EM_USER_ACTIVITY.ams

    |      |   |   |-- HM_FDG_SET.ams

    |      |   |   |-- HM_FINDING.ams

    |      |   |   |-- HM_INFO.ams

    |      |   |   |-- HM_MESSAGE.ams

    |      |   |   |-- HM_RECOMMENDATION.ams

    |      |   |   |-- HM_RUN.ams

    |      |   |   |-- INCCKEY.ams

    |      |   |   |-- INCIDENT.ams

    |      |   |   |-- INCIDENT_FILE.ams

    |      |   |   |-- INC_METER_CONFIG.ams

    |      |   |   |-- INC_METER_IMPT_DEF.ams

    |      |   |   |-- INC_METER_INFO.ams

    |      |   |   |-- INC_METER_PK_IMPTS.ams

    |      |   |   |-- INC_METER_SUMMARY.ams

    |      |   |   |-- IPS_CONFIGURATION.ams

    |      |   |   |-- IPS_FILE_COPY_LOG.ams

    |      |   |   |-- IPS_FILE_METADATA.ams

    |      |   |   |-- IPS_PACKAGE.ams

    |      |   |   |-- IPS_PACKAGE_FILE.ams

    |      |   |   |-- IPS_PACKAGE_HISTORY.ams

    |      |   |   |-- IPS_PACKAGE_INCIDENT.ams

    |      |   |   |-- IPS_PACKAGE_UNPACK_HISTORY.ams

    |      |   |   |-- IPS_PROGRESS_LOG.ams

    |      |   |   |-- IPS_REMOTE_PACKAGE.ams

    |      |   |   |-- PICKLEERR.ams

    |      |   |   |-- PROBLEM.ams

    |      |   |   |-- SWEEPERR.ams

    |      |   |   |-- VIEW.ams

    |      |   |   `-- VIEWCOL.ams

    |      |   |-- metadata_dgif

    |      |   |-- metadata_pv

    |      |   |-- stage

    |      |   |   |-- stg3_13378_inc2.stg

    |      |   |   |-- stg3_13378_inc.stg

    |      |   |   |-- stg3_13458_inc2.stg

    |      |   |   |-- stg3_13458_inc.stg

    |      |   |   |-- stg3_8529_inc2.stg

    |      |   |   `-- stg3_8529_inc.stg

    |      |   |-- sweep

    |      |   `-- trace

    |       |      |-- alert_dave.log

    |      |       |-- cdmp_20120912042233

    |      |       |-- cdmp_20121011174004

    |      |       `-- cdmp_20121011174010

    |      `-- i_1.mif

    `-- tnslsnr

       `-- dave

           `-- listener

               |-- alert

               |   `-- log.xml

               |-- cdump

               |-- incident

               |-- incpkg

               |-- lck

               |   |--AM_1096102193_3488045378.lck

               |   |-- AM_1096102262_3454819329.lck

               |   |--AM_1744845641_3861997533.lck

               |   `--AM_3216668543_3129272988.lck

               |-- metadata

               |   |-- ADR_CONTROL.ams

               |   |-- ADR_INVALIDATION.ams

               |   |-- INC_METER_IMPT_DEF.ams

               |   `-- INC_METER_PK_IMPTS.ams

               |-- metadata_dgif

               |-- metadata_pv

               |-- stage

               |-- sweep

               `-- trace

                    `-- listener.log

    46 directories, 75 files

    [18:11 oracle@dave /u01/app/oracle/diag]$

    1.2 V$DIAG_INFO

    SQL> desc v$diag_info

     Name                                     Null?    Type

     ------------------------------------------------- ----------------------------

     INST_ID                                            NUMBER

     NAME                                              VARCHAR2(64)

     VALUE                                             VARCHAR2(512)

    SQL> set lin 180

    SQL> col name for a20

    SQL> col value for a70

    SQL> set pagesize 100

    SQL> select * from v$diag_info;

      INST_ID NAME                          VALUE

    ---------- ----------------------------------------------------------------------------------------------------

            1 Diag Enabled                  TRUE

            1 ADR Base                       /u01/app/oracle

            1 ADR Home                      /u01/app/oracle/diag/rdbms/dave/dave

            1 Diag Trace                    /u01/app/oracle/diag/rdbms/dave/dave/trace

            1 Diag Alert                    /u01/app/oracle/diag/rdbms/dave/dave/alert

            1 Diag Incident                 /u01/app/oracle/diag/rdbms/dave/dave/incident

            1 Diag Cdump                    /u01/app/oracle/diag/rdbms/dave/dave/cdump

            1 Health Monitor                /u01/app/oracle/diag/rdbms/dave/dave/hm

            1 Default Trace File            /u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_24518.trc

            1 Active Problem Count           1

            1 Active Incident Count          3

    V$DIAG_INFO 视图列出了所有重要的ADR 位置:

    (1)  ADR Base:ADR 基目录的路径

    (2)  ADR Home:当前数据库实例的ADR 主目录的路径

    (3)  Diag Trace:文本预警日志和后台/前台进程跟踪文件的位置

    (4)  Diag Alert:XML 版本的预警日志的位置

    (5)  …

    (6)  Default Trace File:会话的跟踪文件的路径。SQL 跟踪文件将写入到这里。

    1.3 诊断跟踪的位置

    对于OracleDatabase 11g,前台和后台跟踪文件之间没有什么区别。这两种类型的文件都会放入$ADR_HOME/trace目录中。

    所有非意外事件跟踪都存储在TRACE子目录中。以前的版本会将严重错误信息转储到相应的进程跟踪文件而不是意外事件转储,这就是新旧版本之间的主要区别。从Oracle Database 11g 开始,意外事件转储将存放到独立于正常进程跟踪文件的文件中。

    注:跟踪和转储之间的主要区别在于,跟踪是较为连续的输出(如打开SQL 跟踪时),而转储是为了响应事件(如意外事件)而进行的一次性输出。另外,核心是特定于端口的二进制内存转储。


    1.4 ADRCI:ADR 命令行工具

    ADRCI 是一个命令行工具,包含在Oracle Database 版本11g 中引入的故障可诊断性基础结构中。使用ADRCI,可以:

    (1)  查看自动诊断资料档案库(ADR) 中的诊断数据。

    (2)  将意外事件和问题信息打包成zip 文件,以传输到Oracle 技术支持。此操作是使用称为意外事件打包服务(IPS) 的服务完成的。

    ADRCI 具有丰富的命令集,可在交互模式下使用,也可以在脚本中使用。此外,ADRCI 还可以使用与SQL*Plus 执行SQL 脚本和PL/SQL 命令相同的方式执行ADRCI 命令脚本。

    由于未打算保护ADR 中数据的安全,所以没有必要登录到ADRCI。ADR 数据仅受对ADR目录的操作系统权限保护。

    打包和以其它方式管理诊断数据的最简单方法是使用Oracle Enterprise Manager 的支持工作台。ADRCI 提供了一个可代替支持工作台大部分功能的命令行,并添加了一些功能,如列出和查询跟踪文件。

    可以使用ADRCI 查看预警日志文件的内容。可以选择更改当前的ADR 主目录。使用SHOW HOMES 命令列出所有ADR 主目录,然后使用SET HOMEPATH 命令更改当前的ADR 主目录。

    请确保已正确设置了操作系统环境变量(如ORACLE_HOME),然后在操作系统命令提示符下输入以下命令:adrci。

    然后,使用SHOW ALERT 命令。要限制输出,可以使用–TAIL 选项查看最近的记录。这将显示预警日志的最后部分(大约20 到30 条消息),然后等待更多消息进入预警日志中。这些刚刚进入到预警日志的消息也会显示出来。使用此命令,可以对预警日志进行实时监视。按CTRL-C 可停止等待并返回到ADRCI 提示符处。如果需要,还可以指定要打印的行数。

    注:ADRCI 允许您将输出假脱机到文件中,与在SQL*Plus 中使用的方法非常相似。

    二.ADRCI 使用示例

    2.1 帮助

    [oracle@dave dave]$ adrci

    ADRCI: Release 11.2.0.3.0 - Production onThu Oct 11 18:34:29 2012

    Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

    ADR base = "/u01/app/oracle"

    adrci> show homepath

    ADR Homes:

    diag/rdbms/dave/dave

    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 beused directly by Oracle, type "HELP EXTENDED" to see the list

    2.2 查看alert log

    adrci> help show alert

     Usage: SHOW ALERT [-p <predicate_string>]  [-term]

                        [ [-tail [num] [-f]] |[-file <alert_file_name>] ]

     Purpose: Show alert messages.

     Options:

       [-p <predicate_string>]: The predicate string must bedouble-quoted.

       The fields in the predicate are the fields:

           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)

       [-tail [num] [-f]]: Output last part of the alert messages and

       output latest messages as the alert log grows. If num is not specified,

       the last 10 messages are displayed. If "-f" is specified, newdata

       will append at the end as new alert messages are generated.

    [-term]: Direct results to terminal. If this option is notspecified,    the results will be open inan editor. By default, it will open in emacs, but "set editor" can beused to set other editors.

    --如果直接showalert ,会启用editor模式。

       [-file <alert_file_name>]: Allow users to specify an alert filewhich

       may not be in ADR. <alert_file_name> must be specified with fullpath.

       Note that this option cannot be used with the -tail option

     Examples: 

       show alert

       show alert -p "message_text like '%incident%'"

       show alert -tail 20


    小技巧:
    当有多个homepath的时候,我们在使用show alert 时会让我们选择。 这样不方便查看,我们可以直接先指定我们的homepath,这样就避免出现这种问题了。 如下:

    adrci> show homepath
    ADR Homes: 
    diag/rdbms/dave/dave
    diag/tnslsnr/dave/listener
    adrci> show alert


    Choose the alert log from the following homes to view:


    1: diag/rdbms/dave/dave
    2: diag/tnslsnr/dave/listener
    Q: to quit


    Please select option: 1


    adrci> set homepath diag/rdbms/dave/dave
    adrci> show alert -tail 20 


    2.2.1 显示最近10条alert log

    adrci> showalert -tail

    2012-10-11 17:40:04.975000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174004], requested by (instance=1, osid=16650 (CJQ0)),summary=[incident=13378].

    2012-10-11 17:40:08.193000 +08:00

    Restarting dead background process CJQ0

    CJQ0 started with pid=22, OS id=23205

    Sweep [inc][13458]: completed

    2012-10-11 17:40:09.273000 +08:00

    Sweep [inc][13378]: completed

    Sweep [inc2][13378]: completed

    2012-10-11 17:40:10.805000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174010], requested by (instance=1, osid=18804),summary=[incident=13458].

    2012-10-11 17:41:08.886000 +08:00

    Sweep [inc2][13458]: completed

    2012-10-11 18:14:32.747000 +08:00

    Time drift detected. Please check VKTMtrace file for more details.

    2.2.2 显示最近15条alert log

    adrci> showalert -tail 15

    2012-10-11 15:57:01.996000 +08:00

    Time drift detected. Please check VKTMtrace file for more details.

    2012-10-11 17:00:05.236000 +08:00

    Time drift detected. Please check VKTMtrace file for more details.

    2012-10-11 17:39:24.364000 +08:00

    Thread 1 advanced to log sequence 36 (LGWRswitch)

     Current log# 3 seq# 36 mem# 0: /u01/app/oracle/oradata/anqing/redo03.log

    2012-10-11 17:39:59.093000 +08:00

    Exception [type: SIGSEGV, Address notmapped to object] [ADDR:0x0] [PC:0x0, {empty}] [flags: 0x0, count: 1]

    Exception [type: SIGSEGV, Address notmapped to object] [ADDR:0x0] [PC:0x0, {empty}] [flags: 0x0, count: 1]

    2012-10-11 17:40:00.347000 +08:00

    Errors in file /u01/app/oracle/diag/rdbms/dave/dave/trace/dave_cjq0_16650.trc  (incident=13378):

    ORA-07445: exception encountered: core dump[PC:0x0] [SIGSEGV] [ADDR:0x0] [PC:0x0] [Address not mapped to object] []

    Errors in file/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_18804.trc  (incident=13458):

    ORA-07445: 出现异常错误: 核心转储 [PC:0x0] [SIGSEGV] [ADDR:0x0] [PC:0x0] [Address not mapped toobject] []

    Incident details in:/u01/app/oracle/diag/rdbms/dave/dave/incident/incdir_13458/dave_ora_18804_i13458.trc

    Incident details in:/u01/app/oracle/diag/rdbms/dave/dave/incident/incdir_13378/dave_cjq0_16650_i13378.trc

    Use ADRCI or Support Workbench to packagethe incident.

    See Note 411.1 at My Oracle Support forerror and packaging details.

    Use ADRCI or Support Workbench to packagethe incident.

    See Note 411.1 at My Oracle Support forerror and packaging details.

    2012-10-11 17:40:04.975000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174004], requested by (instance=1, osid=16650 (CJQ0)),summary=[incident=13378].

    2012-10-11 17:40:08.193000 +08:00

    Restarting dead background process CJQ0

    CJQ0 started with pid=22, OS id=23205

    Sweep [inc][13458]: completed

    2012-10-11 17:40:09.273000 +08:00

    Sweep [inc][13378]: completed

    Sweep [inc2][13378]: completed

    2012-10-11 17:40:10.805000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174010], requested by (instance=1, osid=18804),summary=[incident=13458].

    2012-10-11 17:41:08.886000 +08:00

    Sweep [inc2][13458]: completed

    2012-10-11 18:14:32.747000 +08:00

    Time drift detected. Please check VKTMtrace file for more details.

    adrci>

    2.2.3 时时监控alert log

    adrci> showalert -tail -f

    2012-10-11 17:40:04.975000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174004], requested by (instance=1, osid=16650 (CJQ0)),summary=[incident=13378].

    2012-10-11 17:40:08.193000 +08:00

    Restarting dead background process CJQ0

    CJQ0 started with pid=22, OS id=23205

    Sweep [inc][13458]: completed

    2012-10-11 17:40:09.273000 +08:00

    Sweep [inc][13378]: completed

    Sweep [inc2][13378]: completed

    2012-10-11 17:40:10.805000 +08:00

    Dumping diagnostic data indirectory=[cdmp_20121011174010], requested by (instance=1, osid=18804),summary=[incident=13458].

    2012-10-11 17:41:08.886000 +08:00

    Sweep [inc2][13458]: completed

    2012-10-11 18:14:32.747000 +08:00

    Time drift detected. Please check VKTMtrace file for more details.

    --该命令会显示最近10条记录,并时时更新新的log。 可以按CTRL-C来结束等待,返回ADRCI。

    2.2.4 查看所有的alert log

     

    如果直接使用show alert,默认使用editor模式,如vi,所以退出使用vi的命令。可以指定-term参数,直接显示,而不是打开。 但这样,如果日志过长,不方便查看。

     

    adrci> show alert

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    Output the results to file:/tmp/alert_26566_1402_dave_1.ado

    2012-09-07 13:12:22.622000 +08:00

    Starting ORACLE instance (normal)

    2012-09-07 13:12:24.456000 +08:00

    LICENSE_MAX_SESSION = 0

    LICENSE_SESSIONS_WARNING = 0

    Shared memory segment for instancemonitoring created

    Picked latch-free SCN scheme 3

    Using LOG_ARCHIVE_DEST_1 parameter defaultvalue as USE_DB_RECOVERY_FILE_DEST

    Autotune of undo retention is turned on.

    IMODE=BR

    ILAT =27

    LICENSE_MAX_USERS = 0

    注意:

    show alert的起始点是在control中设置的保留时间之后的日志,或者说是purge之后的日志,之前的日志无法显示。后文有说明。

    2.2.5 查看具体的ORA-错误

    adrci> showalert  -P "message_text  LIKE '%ORA-600%'"

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    adrci>

    adrci> showalert  -P "message_text  LIKE '%ORA-27037%'"

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    Output the results to file:/tmp/alert_26566_1402_dave_7.ado

    2012-09-07 13:21:06.387000 +08:00

    Errors in file/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_12435.trc:

    ORA-00313: open failed for members of loggroup 1 of thread 1

    ORA-00312: online log 1 thread 1:'/u01/app/oracle/oradata/dave/redo01.log'

    ORA-27037: unable to obtain file status

    Linux-x86_64 Error: 2: No such file ordirectory

    Additional information: 3

    Errors in file/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_12435.trc:

    ORA-00313: open failed for members of loggroup 1 of thread 1

    ORA-00312: online log 1 thread 1:'/u01/app/oracle/oradata/dave/redo01.log'

    ORA-27037: unable to obtain file status

    Linux-x86_64 Error: 2: No such file ordirectory

    2.3 查找trace files

        通过ADRCI,我们可以查看ADR下的所有tracefiles,并可以对这些trace 文件进行过滤,只查看我们关注的信息。

    如: 获取trace 文件包含‘mmon’字符串的文件:

    adrci> show tracefile

        diag/rdbms/dave/dave/trace/dave_mmon_16622.trc

        diag/rdbms/dave/dave/trace/dave_vktm_16598.trc

        diag/rdbms/dave/dave/trace/alert_dave.log

        diag/rdbms/dave/dave/incident/incdir_8529/dave_mmnl_6039_i8529.trc

        diag/rdbms/dave/dave/incident/incdir_13378/dave_cjq0_16650_i13378.trc

        diag/rdbms/dave/dave/incident/incdir_13458/dave_ora_18804_i13458.trc

    adrci> showtracefile %mmon%

        diag/rdbms/dave/dave/trace/dave_mmon_16622.trc

    2.4 查看incident

    adrci> show incident

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    INCIDENT_ID          PROBLEM_KEY                                                CREATE_TIME                             

    ------------------------------------------------------------------------------- ----------------------------------------

    8529                 ORA 7445 [PC:0x0]                                          2012-09-12 04:22:16.811000 +08:00      

    13378                ORA 7445 [PC:0x0]                                          2012-10-11 17:40:00.347000 +08:00      

    13458                ORA 7445 [PC:0x0]                                          2012-10-11 17:40:00.356000 +08:00      

    3 rows fetched

    2.5 purge alert log

    在2.2.4 节里,我们通过show alert 查看了所有的alert log信息。

    show alert的起始点是在control中设置的保留时间之后的日志,或者说是purge之后的日志,之前的日志无法显示。

    ADRCI的purge 命令会清空alert log的内容,注意这里的内容仅仅是XML的alert log。对于trace目录下的text 格式的alert log 不会进行清空。 我们在使用purge 时,可以指定alert log中entries保留的时间。 单位是分钟。

    adrci> help purge

     Usage: PURGE [[-i <id1> | <id1> <id2>] |

                   [-age <mins> [-typeALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]:

     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]: Users can input a single incident ID, or a

       range of incidents to purge.

       [-age <mins>]: Users can specify the purging policy either to all

       the diagnostic data or the specified type. The data older than<mins>

       ago will be purged

       [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify whattype of data to be purged.

     Examples: 

       purge

       purge -i 123 456

        purge-age 60 -type incident

    如清除超过60分钟前的alert log,命令如下:

    adrci> purge -age 60 -type ALERT

    adrci> show alert -term

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    这里已经没有日志了。 我们手工的制造一条日志。 在查看:

    SQL> alter system switch logfile;

    System altered.

    adrci> show alert -term

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    2012-10-11 19:39:31.042000 +08:00

    Thread 1 advanced to log sequence 37 (LGWRswitch)

     Current log# 1 seq# 37 mem# 0: /u01/app/oracle/oradata/anqing/redo01.log

    --这里显示了我们日志切换的记录。

     

    2.6 修改ADR 的保留时间

     

    adrci> show control

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    ADRID                SHORTP_POLICY        LONGP_POLICY       

    -------------------- ----------------------------------------

    3642307927           720                  8760               

    1 rows fetched

    --之前格式有点乱,我调整了一下。

     

    官网对这2个参数的解释:

    Attribute Name

    Description

    SHORTP_POLICY

    Number of hours after which to purge ADR contents that have a short life. Default is 720 (30 days).

    A setting of 0 (zero) means that all contents that have a short life can be purged. The maximum setting is 35791394. If a value greater than 35791394 is specified, then this attribute is set to 0 (zero).

    The ADR contents that have a short life include the following:

    Trace files

    Core dump files

    Packaging information

    LONGP_POLICY

    Number of hours after which to purge ADR contents that have a long life. Default is 8760 (365 days).

    A setting of 0 (zero) means that all contents that have a long life can be purged. The maximum setting is 35791394. If a value greater than 35791394 is specified, then this attribute is set to 0 (zero).

    The ADR contents that have a long life include the following:

    Incident information

    Incident dumps

    Alert logs

     

    SHORTP_POLICY 默认是720小时,30天。其控制如下三种文件的保留时间:

    (1)  Trace files

    (2)  Core dump files

    (3)  Packaging information

    LONGP_POLICY默认值是8760小时,即365天,1年,其控制如下三种文件的保留时间:

    (1)  Incident information

    (2)  Incident dumps

    (3)  Alert logs

     

    修改ADR的保留策略:

    adrci> set control (SHORTP_POLICY = 360) 
    adrci> set control (LONGP_POLICY = 2160) 

     

    adrci> show control

    ADR Home =/u01/app/oracle/diag/rdbms/dave/dave:

    *************************************************************************

    ADRID                SHORTP_POLICY        LONGP_POLICY        

    -------------------- ----------------------------------------

    3642307927           360                  2160                 

    1 rows fetched

    关于ADRCI 的更多内容,参考官网手册:

    http://docs.oracle.com/cd/E11882_01/server.112/e10701/adrci.htm

    ---------------------------------------------------------------------------------------

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Skype:    tianlesoftware

    QQ:       tianlesoftware@gmail.com

    Email:    tianlesoftware@gmail.com

    Blog:     http://blog.csdn.net/tianlesoftware

    Weibo:    http://weibo.com/tianlesoftware

    Twitter:  http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware


  • 相关阅读:
    python中的编码与解码
    python中的迭代器
    python中高阶函数与装饰器(3)
    python中高阶函数与装饰器(2)
    python中高阶函数与装饰器
    python中几种常用的数据类型
    python 启航
    Python [习题] 字典排序
    SQL-TSQL
    SQL基础语句
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609149.html
Copyright © 2011-2022 走看看