oracle11g adr

来源:互联网 发布:淘宝上的茶杯犬能买吗 编辑:程序博客网 时间:2024/04/27 21:04

ADR(Automatic Diagnostic Repository)是一个基于文件的档案库,用于存放数据库的诊断信息,例如跟踪文件,意外dump文件,IPS包,警告日志文件,健康监控报告,核心dump文件以及其它诊断信息。

ADR拥有统一的目录结构,在数据库之外存储多个产品和实例的诊断信息,因此即使在数据库关闭时仍然可以进行问题诊断。
ADR的根目录叫做ADR base, 位置通过参数DIAGNOSTIC_DEST设置。即使你忽略了该初始化参数。oracle也会创建ADR。如果你设置了ORACLE_BASE环境变量,那么diagnostic_dest缺省值是该目录。如果你没有设置ORACLE_BASE变量,该参数值为$ORACLE_HOME/log目录。
ADR存储所有oracle产品的诊断数据。ADR为每一个oracle产品及其实例分配一个单独的home目录。因此一个ADR目录包含多个home目录。
每一个ADR的home目录是一个为每一个数据库实例或其它oracle产品或组件存储其诊断文件。其目录结构如下:ADR_base/diag/product_type/product_id/instance_id/,比如一个 diagnostic_dest初始化参数为 /u05/app/oracle。那么一个oracle数据库的sid为prod1的home目录就如下所示:
/u05/app/oracle/diag/rdbms/prod1/prod1/


    从Oracle 11gR1开始,ADR用于存储数据库,ASM,CRS和其它产品或组件(如listener)的诊断信息。每一个实例或者产品拥有各自的ADR home路径。例如在一个RAC环境下,ASM, 数据库实例拥有单独的ADR home

Diagnostic Frame Work(DFW)是如何工作的

1.    当一个严重错误发生时,DDE(diagnosticdata extractor)被出发,并将相应的诊断信息写入到事件跟踪文件。
2.    ADR中的诊断信息可以通过ADRCI(命令行工具)或者SWB(Support WorkBench,图形界面)被访问。
3.    通过ADRCI或SWB从ADR中抽取诊断信息并创建包,这称之为事件打包服务(IPS)。查看诊断信息或上传IPS包到MOS。IPS包包含对应事件的所有诊断信息

下面就介绍下诊断信息工具adrci使用方法

1、进入命令行模式

在命令行模式下直接输入adrci即可进入,不过何以先看看他的目录,winch adrci,还有使用格式,adrci -help

2、查看由那些命令

在进入adrci命令行之后,输入help查看

3、查看目录信息

adrci> show alert

Choose the alert log from the following homes to view:

1: diag/tnslsnr/localhost/listener
2: diag/tnslsnr/PROD/listener
3: diag/rdbms/orcl/ORCL
4: diag/rdbms/orcl/vion
5: diag/rdbms/orcl/STANDBY
6: diag/rdbms/prod/PROD
7: diag/rdbms/standby/PROD
8: diag/rdbms/standby/STANDBY
Q: to quit

Please select option: 6
Output the results to file: /tmp/alert_21039_3086_PROD_1.ado

注意,这里默认是查看的是xml的log信息,一般查看内容较多,可以查看最后多少行,比如show alert -tail number,如果想固定一个路径,何以设置homepath 比如set homepath  diag/XXX,使用ctl+C返回

另外如果登录了某个实例,可以使用select *  from v$diag_info;查看日志信息,一般罗列如下


SQL> select value from v$diag_info;

VALUE
--------------------------------------------------------------------------------
TRUE
/data/oracle
/data/oracle/diag/rdbms/prod/PROD
/data/oracle/diag/rdbms/prod/PROD/trace
/data/oracle/diag/rdbms/prod/PROD/alert
/data/oracle/diag/rdbms/prod/PROD/incident
/data/oracle/diag/rdbms/prod/PROD/cdump
/data/oracle/diag/rdbms/prod/PROD/hm
/data/oracle/diag/rdbms/prod/PROD/trace/PROD_ora_20783.trc
0
0

11 rows selected.

alert:一个实例的告警日志文件(xml格式,11g中加入的)。
cdump:core文件。
hm:健康检查报告。
incident:每一个事件一个子目录,其中包含所有trace dump文件。
incpkg:你创建的事件包,用于发给oracle支持所用。
ir:包含实例事件报告。
trace:存储回话trace文件。

4、查看incident和problem信息

adrci> show incident

adrci> show problem

5、打包,一般提供给oracle

对于一些incident,我们是无法进行诊断处理的,需要协同Oracle Support进行检查调试。这个时候,我们可以利用ADRCI工具将错误incident打包成package发送给Oracle客户服务人员。

打包package的步骤分为logical package和physical package两个大步骤。具体如下:
 
--对事件74453创建逻辑包

adrci> ips create package incident 7445

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

--同时将153368事件也加入到package 1中;

adrci> ips add incident 7446 package 1

Added incident 7446 to package 1

最后,将Logical Package输出为Physical Package。

adrci>ips generate package 1 in /home/oracle

直接将给zip包发给oracle support,作为诊断材料

 

原创粉丝点击