oracle的adr,Oracle 自动诊断信息库(Automatic Diagnostic Repository,ADR)

本文主要是介绍oracle的adr,Oracle 自动诊断信息库(Automatic Diagnostic Repository,ADR),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Oracle 11G中的ADR介绍:

ADRCI 之oracle 日志查看

在Oracle的11g版本中,alert文件的位置发生了变化,与此同时Oracle提供了一个命令行工具ADRCI,它可以很便利的查看数据库中出现的异常。 以下给大家展示一下使用ADRCI (ADR Command Interface) 在11g中查看Oracle的警告日志的方法。

1.进入到adrci命令行模式

ora11g@RHEL53 /home/oracle$ which adrci

/oracle/u01/app/oracle/product/1101/db/bin/adrci

ora11g@RHEL53 /home/oracle$ adrci -help

Syntax:

adrci [-help] [script=script_filename]

[exec = "one_command [;one_command;...]"]

Options      Description                    (Default)

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

script      script. file name              (None)

help        help on the command options    (None)

exec        exec a set of commands          (None)

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

ora11g@RHEL53 /home/oracle$ adrci

ADRCI: Release 11.1.0.6.0 - Beta on Fri Feb 27 15:23:52 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

ADR base = "/oracle/u01/app/oracle"

adrci>

2.使用 help show alert 命令查看帮助文档

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> help show alert

Usage: SHOW ALERT [-p ]  [-term]

[ [-tail [num] [-f]] | [-file ] ]

Purpose: Show alert messages.

Options:

[-p ]: The predicate string must be double 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, new data

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

[-term]: Direct results to terminal. If this option is not specified,

the results will be open in an editor.

By default, it will open in emacs, but "set editor" can be used

to set other editors.

[-file ]: Allow users to specify an alert file which

may not be in ADR. must be specified with full path.

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

adrci>

3.使用 show alert 列出各个目录下的日志目录,输入编号4,系统会自动调用vi编辑器查看数据库的alert日志

adrci> show alert

Choose the alert log from the following homes to view:

1: diag/tnslsnr/RHEL53/listener

2: diag/clients/user_unknown/host_411310321_11

3: diag/clients/user_oracle/host_2175824367_11

4: diag/rdbms/ora11g/ora11g

Q: to quit

Please select option:4

4.另外一种查看方式是,指定具体的 homepath 然后使用“show alert -tail 15”查看对应日志文件的后15行

adrci> show homepath

ADR Homes:

diag/tnslsnr/RHEL53/listener

diag/clients/user_unknown/host_411310321_11

diag/clients/user_oracle/host_2175824367_11

diag/rdbms/ora11g/ora11g

adrci> set homepath diag/rdbms/ora11g/ora11g

adrci> show alert -tail 15

2009-02-27 14:25:05.036000 +08:00

Starting background process SMCO

SMCO started with pid=21, OS id=3855

Starting background process FBDA

FBDA started with pid=22, OS id=3857

replication_dependency_tracking turned off (no async multimaster replication found)

2009-02-27 14:25:07.246000 +08:00

Starting background process QMNC

QMNC started with pid=23, OS id=3859

2009-02-27 14:25:17.325000 +08:00

db_recovery_file_dest_size of 4096 MB is 0.00% used. This is a

user-specified limit on the amount of space that will be used by this

database for recovery-related files, and does not reflect the amount of

space available in the underlying filesystem or ASM diskgroup.

2009-02-27 14:25:33.727000 +08:00

Completed: ALTER DATABASE OPEN

2009-02-27 14:29:59.158000 +08:00

Starting background process CJQ0

CJQ0 started with pid=25, OS id=3892

adrci>

ADR的结构和位置:

初始化参数diagnostic_dest指定了ADR的根目录。即使你忽略了该初始化参数。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/

在一个ADR的home目录下有很多子目录:

alert:一个实例的告警日志文件(xml格式)。

cdump:core文件。

hm:健康检查报告。

incident:每一个事件一个子目录,其中包含所有trace dump文件。

incpkg:你创建的事件包,用于发给oracle支持所用。

ir:包含实例事件报告。

trace:存储回话trace文件。

可以通过视图v$diag_info来查询目录及其位置:

SQL> select name, value from v$diag_info;

NAME                                    VALUE

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

Diag Enabled            TRUE

ADR Base                /u01/app/oracle

ADR Home                /01/app/oracle/diag/rdbms/prod/prod1

Diag Trace              /u01/app/oracle/diag/rdbms/prod/prod1/trace

Diag Alert              /u01/app/oracle/diag/rdbms/ prod/prod1/alert

Diag Incident          /u01/app/oracle/diag/rdbms/prod/prod1/incident

Diag Cdump              /u01/app/oracle/diag/rdbms/ prod/prod1/cdump

Health Monitor          /u01/app/oracle/diag/rdbms/ prod/prod1/hm

Default Trace File      /u01/app/oracle/diag/rdbms/ prod/prod1/

trace/eleven_ora_9417.trc

Active Problem Count    3

Active Incident Count  8

正如你所见,视图v$diag_info中包括问题和事件数量。

比如使用如下命令查看所有ORA-错误:

adrci> set homepath diag/rdbms/rac/rac

adrci> set editor vi

adrci> show alert -p "message_text like '%ORA-%'"

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

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

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

2012-03-29 20:56:12.266000 +08:00

ORA-1109 signalled during: ALTER DATABASE CLOSE NORMAL...

2012-03-29 20:56:27.810000 +08:00

Errors in file /home/oracle/diag/rdbms/rac/rac/trace/rac_ora_10453.trc:

ORA-00313: ??????? 1 (???? 1) ???

ORA-00312: ???? 1 ?? 1: '/home/oracle/oradata/rac/redo01.log'

像vi编辑器一样退出后,可以在文件/tmp/alert_10191_1638_rac_1.ado中找到屏幕输出结果。便于分析,

可见这个特性和unix中的grep |ORA-  命令是大不相同,因为后者只能输出错误行,但是错误行发生的时间却不能显示,而 show alert则同时显示错误和发生时间。

5.小结

使用ADRCI命令可以很好的对各个目录中的日志文件进行集中查看,可以有效的提高工作效率。

0b1331709591d260c1c78e86d0c51c18.png

这篇关于oracle的adr,Oracle 自动诊断信息库(Automatic Diagnostic Repository,ADR)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/412790

相关文章

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理

陈科肇 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS-- Author : CKZ-- Created : 2015/8/28 9:52:29-- Purpose : 同步数据-- Public type declarations,游标 退休订单TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co

Oracle主键和外键详解及实用技巧

在 Oracle 数据库中,主键(Primary Key)和外键(Foreign Key)用于维护数据库表之间的数据完整性。 1. 主键(Primary Key) 主键是一列或多列,能够唯一标识表中的每一行。表中只能有一个主键,并且主键列不能为空(即 NOT NULL)。 特性: 唯一性:主键中的每一个值都是唯一的,不能重复。非空性:主键列不能包含 NULL 值。索引:Oracle 自动为

Shell脚本实现自动登录服务器

1.登录脚本 login_server.sh #!/bin/bash# ReferenceLink:https://yq.aliyun.com/articles/516347#show all host infos of serverList.txtif [[ -f ./serverList.txt ]]thenhostNum=`cat ./serverList.txt | wc -l`e