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

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略