Oracle 11g之前。当数据库出现故障,通常情况下,第一次需要看alert刊物。什么,看看哪些记录错误,您可以给我们的提示。alert文件名

是alert_<ORACLE_SID>.log,文件存储路径由參数background_dump_dest决定,比如:

SQL> show parameter background_dump_dest

NAME                                            TYPE         VALUE

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

background_dump_dest                 string        /opt/app/ora10g/admin/petest/bdump

能够知道alert日志就保存在/opt/app/ora10g/admin/petest/bdump路径下。

比如例如以下这个log后缀的alert日志,内容是文本格式的。能够直接打开查看:

-rw-r-----. 1 oracle root 1.8G Jun 21 19:30 alert_bisal.log

从Oracle 11g開始。alert除了文本格式。还提供了xml格式的,且日志路径有所变化。

假设设置了參数diagnostic_dest。则原来的

background_dump_dest等路径将失效。

Oracle 11g提供的新特性“自己主动诊断库(Automatic Diagnostic Repository, ADR)”的目

录就是通过这个參数设置的,这个文件夹下存放的是数据库诊断日志、跟踪文件等之前分布于bdump、cdump等路径中的文件,这个

文件夹通常称为ADR base。比如:

SQL> show parameter diag

NAME                                     TYPE        VALUE

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

diagnostic_dest                        string       /home/oracle

diagnostic_dest的缺省值还和环境变量ORACLE_BASE有关,比如:

>假设设置了ORACLE_BASE,则diagnostic_dest = $ORACLE_BASE

>假设未设置ORACLE_BASE,则diagnostic_dest
= $ORACLE_HOME/log

依据eygle的介绍,11g将环境变量ORACLE_BASE引入到了数据库内部,使用隐含參数记录:

SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.KSPPDESC PDESC

FROM   SYS.x$ksppi
x, SYS.x$ksppcv y

WHERE
 x.indx = y.indx AND x.ksppinm LIKE '%&par%';

NAME             VALUE        
      PDESC

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

_oracle_base    /home/oracle  
 ORACLE_BASE

注意这里SQL的输入的是小写oracle_base。

能够使用v$diag_info查看ADR信息:

SQL> select * from v$diag_info;

INST_ID NAME                      VALUE

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

1 Diag Enabled                TRUE

1 ADR Base                     /home/oracle

1 ADR Home                   /home/oracle/diag/rdbms/galt/galt

1 Diag Trace                   /home/oracle/diag/rdbms/galt/galt/trace

1 Diag Alert                    /home/oracle/diag/rdbms/galt/galt/alert

1 Diag Incident               /home/oracle/diag/rdbms/galt/galt/incident

1 Diag Cdump                /home/oracle/diag/rdbms/galt/galt/cdump

1 Health Monitor             /home/oracle/diag/rdbms/galt/galt/hm

1 Default Trace File         /home/oracle/diag/rdbms/galt/galt/trace/galt_ora_8970.trc

1 Active Problem Count   1

1 Active Incident Count    50

11 rows selected.

当中Diag Alert保存的是xml格式的alert日志。Diag Trace保存的是文本格式的alert日志。

还提供了一个新工具ADRCI(ADR Command Interpreter)。说是用于管理诊断数据,友好阅读xml格式的日志,但这里我还没搞清楚为什么须要xml格式的日志,请高手不吝赐教。

命令行中输入adrci就能够登录了,比如:

[oracle@riserver2 diag]$ adrci

ADRCI: Release 11.2.0.1.0 - Production on Sat Jun 21 18:51:31 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/home/oracle"

adrci>

使用show alert能够选择须要查看的日志文件:

adrci> show alert

Choose the alert log from the following homes to view:

1: diag/tnslsnr/riserver2/listener

2: diag/rdbms/galt/galt

Q: to quit

Please select option:

接下来就是为什么要有ADR?

ADR是将各类跟踪文件、日志文件的存储进行统一。不会像之前须要不同文件时要到不同文件夹中查找。有时还得看看參数设置到哪

些路径下了。Oracle 11g提出了FDI,故障诊断基础框架,Fault Diagnosability Infrastructure。宗旨就是简化用户的数据库出现

故障时向Oracle请求协助须要重复交互的过程。曾经用户须要依据Oracle的要求,不断重复交互,收集数据。再反馈Oracle,才干

解决SR。通过FDI,可能会提高故障分析解决的效率。(由于我还没提过。所以不知道是否真的节省了成本?)

FDI的核心组件是ADR,相关的日志文件进行了归类汇总都存储于ADR之下。同一时候使用IPS,事件打包服务,Incident Packaging

Service,能够将相关的数据、日志文件打包压缩。然后用户将这个文件传给Oracle诊断。

比如:

adrci> show incident

ADR Home = /home/oracle/diag/tnslsnr/riserver2/listener:

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

0 rows fetched

ADR Home = /home/oracle/diag/rdbms/galt/galt:

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

INCIDENT_ID          PROBLEM_KEY              CREATE_TIME

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

129708               ORA 4030                         2014-06-21 05:35:06.727000 +08:00

129709               ORA 4030                         2014-06-21 05:35:15.598000 +08:00

129710               ORA 4030                         2014-06-21 05:35:23.600000 +08:00

129711               ORA 4030                         2014-06-21 05:35:31.526000 +08:00

129712               ORA 4030                         2014-06-21 05:35:39.611000 +08:00

5 rows fetched

能够看到这里有5次INCIDENT,能够用例如以下命令查看详细的信息:

adrci> show incident -mode DETAIL -p "incident_id=129708";

ADR Home = /home/oracle/diag/tnslsnr/riserver2/listener:

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

0 rows fetched

<INCIDENT_INFO mode="detail">

<ADR_HOME name="/home/oracle/diag/tnslsnr/riserver2/listener">

ADR Home = /home/oracle/diag/rdbms/galt/galt:

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

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

INCIDENT INFO RECORD 1

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

   INCIDENT_ID                   129708

   STATUS                           ready

   CREATE_TIME                   2014-06-21 05:35:06.727000 +08:00

   PROBLEM_ID                    1

   CLOSE_TIME                    <NULL>

   FLOOD_CONTROLLED       none

   ERROR_FACILITY             ORA

   ERROR_NUMBER               4030

   ERROR_ARG1                   832

   ERROR_ARG2                   callheap

   ERROR_ARG3                   temporary memory

   ERROR_ARG4                    <NULL>

   ERROR_ARG5                    <NULL>

   ERROR_ARG6                    <NULL>

   ERROR_ARG7                    <NULL>

   ERROR_ARG8                    <NULL>

   ERROR_ARG9                    <NULL>

   ERROR_ARG10                   <NULL>

   ERROR_ARG11                   <NULL>

   ERROR_ARG12                   <NULL>

   SIGNALLING_COMPONENT          <NULL>

   SIGNALLING_SUBCOMPONENT    <NULL>

   SUSPECT_COMPONENT               <NULL>

   SUSPECT_SUBCOMPONENT         <NULL>

   ECID                                 <NULL>

   IMPACTS                           0

   PROBLEM_KEY                   ORA 4030

   FIRST_INCIDENT               129708

   FIRSTINC_TIME                 2014-06-21 05:35:06.727000 +08:00

   LAST_INCIDENT                129757

   LASTINC_TIME                  2014-06-21 05:35:52.409000 +08:00

   IMPACT1                           34668547

   IMPACT2                           34668546

   IMPACT3                           0

   IMPACT4                           0

   KEY_NAME                        ProcId

   KEY_VALUE                       2.1

   KEY_NAME                        Client ProcId

   KEY_VALUE                       oracle@riserver2.3005_140012269696768

   KEY_NAME                        SID

   KEY_VALUE                       383.1

   OWNER_ID                        1

   INCIDENT_FILE                  /home/oracle/diag/rdbms/galt/galt/trace/galt_pmon_3005.trc

   OWNER_ID                        1

   INCIDENT_FILE                  /home/oracle/diag/rdbms/galt/galt/incident/incdir_129708/galt_pmon_3005_i129708.trc

1 rows fetched

能够看到文件夹下有异常事件的跟踪信息:

[oracle@riserver2 diag]$ cd /home/oracle/diag/rdbms/galt/galt/incident/incdir_129708/

[oracle@riserver2 incdir_129708]$ ls -l

total 7408

-rw-r-----. 1 oracle root 7561282 Jun 21 05:35 galt_pmon_3005_i129708.trc

-rw-r-----. 1 oracle root   19034 Jun 21 05:35 galt_pmon_3005_i129708.trm

以下就使用IPS进行打包:

adrci> set homepath diag/rdbms/galt/galt

adrci> ips create package incident 129708

Created package 1 based on incident id 129708, correlation level typical

adrci> ips generate package 1 in /home/oracle/diag

Generated package 1 in file /home/oracle/diag/ORA4030_20140621184527_COM_1.zip, mode complete

Additional incremental files:

/home/oracle/diag/ORA4030_20140621184527_INC_2.zip

解压缩这两个文件能够看到像alert日志等都打进来了,这里两文件压缩后是17MB左右,但alert日志就有1.7GB。所以压缩效率还非常高。

版权声明:本文博主原创文章。博客,未经同意不得转载。

先学习Oracle 11g的Automatic Diagnostic Repository新功能的更多相关文章

  1. Oracle 11g系统分区表中的新功能

    在11g有一个新的特点是分区表系统.下面做一个实验: SQL> select * from v$version; BANNER --------------------------------- ...

  2. Automatic Diagnostic Repository

    转载自 http://www.eygle.com/archives/2007/08/11g_auto_diag_repository.html#comments Oracle Database 11g ...

  3. Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)

    Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...

  4. 学习笔记: ES7(ES2016)新功能

    ES7添加了两个新功能 : 1. Array.prototype.includes() 2. 指数运算符 1 .Array.prototype,includes() 判断指定的元素是否存在于数组中,  ...

  5. Oracle 11g新特性

    文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...

  6. Oracle 11g Articles

    发现一个比较有意思的网站,http://www.oracle-base.com/articles/11g/articles-11g.php Oracle 11g Articles Oracle Dat ...

  7. Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g

    Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle:  Oracle 10g and Oracle 11 ...

  8. Oracle 11g

    Oracle 11g 第一章  Oracle 11g数据库简介 1.1  认识Oracle11g Oracle 11g是Oracle 数据库最新的版本,目前已经被企业广泛的应用. 1.2  Oracl ...

  9. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

随机推荐

  1. c语言太easy笔误的,这将做

    调试发现时间写的一样NB代码 test.c int add(string); int main() { char* p = "11222"; add(p); return 0; } ...

  2. ByteBuffer和String的互相转换

    import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java ...

  3. RVDS 3.1 下载地址及破解方法

    RealView Development Suite 3.1  RVDS 3.1下载地址:https://silver.arm.com/download/Development_Tools/RVDS/ ...

  4. Datameer for Hadoop Solution

    Hadoop promises to become a ubiquitous framework for largescale business intelligence, but right now ...

  5. Android Studio 入门(转)

    本文适用于从Eclipse转AndroidStudio的开发者 最近打算写一个系列的android初级开发教程,预计40篇以上的文章,结合我实际工作中的经验,写一些工作中经常用到的技术,让初学者可以少 ...

  6. Cocos2d-x发展---更改父的颜色、透明度的子节点上

    标题手段:当我们改变父节点或透明时的颜色.默认是不会影响孩子的节点. 作为交换组看到朋友说可以通过设置相关的参数变化的子节点来实现属性的效果,看了看源代码,记录下来:        引擎版本号为:2. ...

  7. JqGrid 显示表

    JqGrid 下表显示了前台图书馆.使用起来非常方便. 我在这里分享使用中遇到的问题及解决方案 ** 一.rowNum属性 ** 1.假设不设置,默认显示数是20,也就是说超过20以后的数据.不再显示 ...

  8. OpenStack安装与配置2

    第二部分 OpenStack安装与配置 一.引言   本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1.Server2和Client1,之后的各章也是如此.Server ...

  9. String ,StringBuffer,StringBuilder精髓比較

    1. 在运行速度方面的比較:StringBuilder > StringBuffer > String 2. StringBuffer与StringBuilder.他们是字符串变量,是可改 ...

  10. zoj3822 期望dp

    每天在一个n*m的棋盘上放棋子,问使得每一行,每一列都有棋子的期望天数 dp[n][m][k] 表示用k个棋子占据了n行,m列,距离目标状态还需要的期望天数 那么dp[n][m][k] = p1 * ...