11g ADRCI

1.概述

Oracle中,各个组件(监听器、数据库实例、各种配置工具)在安装和运行时都会有相应的日志Log和跟踪文件Trace生成。

Oracle 11g之前,这些信息都是零散的分布在Oracle组件目录中的。在11gOracle推出了ADRAutomatic Diagnostic Repository

的概念,将这些信息统一的列入到其中管理。11g中,提供了ADR_HOME目录,其中集中保存各类型的日志和跟踪信息。

一般在$ORACLE_BASE下的diag文件夹里

#export ORACLE_BASE=/u01/PROD/db

[oracle@erpdb01 db]$ ls
admin  cfgtoollogs  checkpoints  diag  oradatatech_st
[oracle@erpdb01 db]$ cd diag/
[oracle@erpdb01 diag]$ ls
asm  clients  crs  diagtool  lsnrctl  netcman  ofm  rdbms  tnslsnr
[oracle@erpdb01 diag]$ pwd
/u01/PROD/db/diag
[oracle@erpdb01 diag]$

这个一般懒得一个个看,主要使用ADRCI工具检查日志和管理诊断信息。

[oracle@erpdb01 trace]$ adrci
ADRCI: Release 11.2.0.4.0 - Production on Wed Dec 9 14:42:13 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
ADR base = "/u01/PROD/db"
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> 

诊断目录位置:

adrci> show homepath
ADR Homes: 
diag/clients/user_oracle/host_2976029217_80
adrci> show home
ADR Homes: 
diag/clients/user_oracle/host_2976029217_80
adrci> show homes
ADR Homes: 
diag/clients/user_oracle/host_2976029217_80
adrci> 

这个环境只用了一个我们换个环境

adrci> show homepath
ADR Homes: 
diag/diagtool/user_oracle/host_3609335305_11
diag/asm/user_oracle/host_3609335305_80
diag/rdbms/prod/PROD1
diag/clients/user_oracle/host_3609335305_80
diag/asmtool/user_oracle/host_3609335305_80
adrci>

查看相应的日志信息:

adrci>  show alert -TAIL 10
2013-12-02 22:30:31.823000 +08:00
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
2013-12-02 22:30:47.822000 +08:00
***********************************************************************
Fatal NI connect error 12514, connecting to:
 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=erpdb01.szgas.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=PROD1)(INSTANCE_NAME=PROD1)(CID=(PROGRAM=sqlplus)(HOST=erpdb01.szgas.com)(USER=oracle))))
  VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
  Time: 02-DEC-2013 22:30:47
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12564
TNS-12564: TNS:connection refused
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
adrci> 

adrci> show homepath
ADR Homes: 
diag/diagtool/user_oracle/host_3609335305_11
diag/asm/user_oracle/host_3609335305_80
diag/rdbms/prod/PROD1
diag/clients/user_oracle/host_3609335305_80
diag/asmtool/user_oracle/host_3609335305_80
adrci> show alert -TAIL 10
DIA-48449: Tail alert can only apply to single ADR home
adrci>

要注意,如果要进入具体的那个组件查看日志信息和诊断信息,首先需要设置homepath到一个组件目录里面。

如果我们要查看数据库日志,需要如下的配置

[oracle@cisdb01 PROD1]$ ls
alert  cdump  hm  incident  incpkg  ir lck  metadata  metadata_dgif  metadata_pv  stage  sweep  trace
[oracle@cisdb01 PROD1]$ pwd
/u01/PROD/oracle/diag/rdbms/prod/PROD1

[oracle@cisdb01 PROD1]$

adrci>  set homepath diag/rdbms/prod/PROD1
adrci> show alert -TAIL 10
2015-12-09 12:24:29.013000 +08:00
    
TNS-00505: Operation timed out
    nt secondary err code: 110
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.0.54)(PORT=65381))
2015-12-09 13:17:48.881000 +08:00
Thread 1 advanced to log sequence 16512 (LGWR switch)
  Current log# 1 seq# 16512 mem# 0: +DATA_CIS/prod/onlinelog/group_1.273.841238279
  Current log# 1 seq# 16512 mem# 1: +RECO_CIS/prod/onlinelog/group_1.257.841238281
LNS: Standby redo logfile selected for thread 1 sequence 16512 for destination LOG_ARCHIVE_DEST_2
2015-12-09 13:17:53.546000 +08:00
Archived Log entry 51004 added for thread 1 sequence 16511 ID 0xe935962 dest 1:

adrci> 

上面命令show alert显示的内容是数据库组件日志alert信息。注意,此处我们也可以使用tail –n 命令,但是后面的数字表示的是日志的条目数,而不是记录行数!

查看incidentproblem信息

在很多时候,数据库组件生成的错误事件信息,都是以诊断信息的形式产生出来。利用ADRCI,可以方便的对这些信息进行查看。

adrci> show problem
ADR Home = /u01/PROD/oracle/diag/rdbms/prod/PROD1:
*************************************************************************
PROBLEM_ID           PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME                             
-------------------- ----------------------------------------------------------- -------------------- ---------------------------------------- 
1                    ORA 600 [kgantc_1]                                          538779               2015-06-30 16:13:38.211000 +08:00       
2                    ORA 603                                                           616019               2015-06-30 16:14:25.214000 +08:00       
4                    ORA 600 [kdsgrp1]                                            697900               2015-08-20 19:30:21.523000 +08:00       
3                    ORA 600                                                           697901               2015-08-20 19:30:30.890000 +08:00       
4 rows fetched

adrci>

adrci> show incident
ADR Home = /u01/PROD/oracle/diag/rdbms/prod/PROD1:
*************************************************************************
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME                              
-------------------- ----------------------------------------------------------- ---------------------------------------- 
538779               ORA 600 [kgantc_1]                                    2015-06-30 16:13:38.211000 +08:00       
616019               ORA 603                                                     2015-06-30 16:14:25.214000 +08:00       
697900               ORA 600 [kdsgrp1]                                      2015-08-20 19:30:21.523000 +08:00       
697901               ORA 600                                                     2015-08-20 19:30:30.890000 +08:00       
4 rows fetched
adrci>

生成诊断package

打包package的步骤分为logical packagephysical package

对事件697901创建逻辑包

adrci>  ips create package incident 697901
Created package 2 based on incident id 697901, correlation level typical
adrci> 

同时可以在诊断包2中加入697900事件

adrci> ips add incident 697900  package 2
Added incident 697900 to package 2
adrci>

Logical Package输出为Physical Package

adrci> ips generate package 2 in /home/oracle/evis    
Can't locate Sys/Hostname.pm in @INC (@INC contains: /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0 /u01/PROD/11.2.0.4/grid/perl/lib /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0 /u01/PROD/11.2.0.4/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/site_perl/5.10.0 /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/5.10.0 /u01/PROD/11.2.0.4/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /u01/PROD/11.2.0.4/grid/perl/lib/site_perl/5.10.0 /u01/PROD/11.2.0.4/grid/perl/lib/site_perl .) at /u01/PROD/11.2.0.4/grid/bin/diagcollection.pl line 83.
BEGIN failed--compilation aborted at /u01/PROD/11.2.0.4/grid/bin/diagcollection.pl line 83.
Generated package 2 in file /home/oracle/evis/ORA600_20151209153517_COM_1.zip, mode complete
adrci> 

adrci> host
[oracle@cisdb01 diag]$ cd /home/oracle/evis
[oracle@cisdb01 evis]$ ls -lrt
-rw-r--r-- 1 oracle oinstall 25240218 Dec  9 15:40 ORA600_20151209153517_COM_1.zip
[oracle@cisdb01 evis]$

control

adrci> show control
ADR Home = /u01/PROD/oracle/diag/rdbms/prod/PROD1:
*************************************************************************
ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME                              
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------
2978996791           720                 8760                 2015-08-20 19:32:21.684745 +08:00        2015-12-07 12:25:35.464527 +08:00                                                 1                    2                    80                   1                    2013-11-28 14:00:43.101287 +08:00       
adrci> 

相关视图:

SQL> col name for a22
SQL> select * from v$diag_info;
   INST_ID NAME  VALUE
---------- ---------------------- --------------------------------------------------------------------------------------------------------------
1 Diag Enabled  TRUE
1 ADR Base  /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb
1 ADR Home  /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1
1 Diag Trace  /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/trace
1 Diag Alert  /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/alert
1 Diag Incident /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/incident
1 Diag Cdump  /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/cdump
1 Health Monitor /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/hm
1 Default Trace File /u01/PROD/db/tech_st/11.2.0/admin/PROD_erpdb/diag/rdbms/prod/PROD1/trace/PROD1_ora_15520.trc
1 Active Problem Count   2
1 Active Incident Count  71
11 rows selected.
SQL> 

参考:http://blog.csdn.net/eviswang/article/details/50763692













 







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值