Oracle 11g 中使用adrci看alert日志


1  认识adrci

这个命令可以查看报错信息和日志,伴随着11g trace目录换位置之后一起提供给我们的。这个工具不仅能像vi一样对日志进行编辑。还能像tail -f 一样查看日志文件。

而且可以跨平台,在windows上也可以使用。

--------------------------------------分割线 --------------------------------------

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

下面演示几种adrci的常用用法。

1.1  查看命令位置

$ which adrci

/u01/app/oracle/product/11.2.0/dbhome_1/bin/adrci

1.2  为命令设置别名

rlwrap工具可以上下翻动自己刚才执行的命令

$ grep adrci .bash_profile

alias adrci='rlwrap adrci'

1.3  查看help

$ 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)

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

从help可以看出他的语法可以是类似下面这样的:

1.3.1  直接执行命令

$ adrci exec="show alert"

1.3.2  指定脚本命令

$ cat /tmp/abc.txt

show alert

$ adrci script = /tmp/abc.txt

$ adrci

ADRCI: Release 11.2.0.3.0 - Production on Fri Jun 6 11:45:39 2014

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

ADR base = "/u01/app/oracle"

adrci>

2  使用adrci

2.1  查看help

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

2.2  查看home

从help中可以看出,show 后面可以接home homes homepath 这三个参数,也就是说这三个参数其实显示了同一个内容。

注:这里的home并不是$ORACLE_HOME

adrci> show home

ADR Homes:

diag/rdbms/orcl/orcl

diag/asm/+asm/+ASM

diag/tnslsnr/oracle11g/listener

adrci> show homes

ADR Homes:

diag/rdbms/orcl/orcl

diag/asm/+asm/+ASM

diag/tnslsnr/oracle11g/listener

adrci> show homepath

ADR Homes:

diag/rdbms/orcl/orcl

diag/asm/+asm/+ASM

diag/tnslsnr/oracle11g/listener

2.3  列出home下面的日志(show alert)

像这种show alert 的方式可以理解为使用vi打开日志文件。

adrci> help show alert

Usage: SHOW ALERT [-p <predicate_string>]  [-term]

[ [-tail [num] [-f]] | [-file <alert_file_name>] ]

Purpose: Show alert messages.

Options:

[-p <predicate_string>]: 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 <alert_file_name>]: Allow users to specify an alert file which

may not be in ADR. <alert_file_name> 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

2.3.1  查看所有目录中的日志

adrci> show alert

Choose the alert log from the following homes to view:

1: diag/rdbms/orcl/orcl

2: diag/asm/+asm/+ASM

3: diag/tnslsnr/oracle11g/listener

Q: to quit

Please select option:

2.3.2  查看自定义目录下的日志

这个时候有4个选项可以供我们选择,分别是数据库,asm,监听器的日志文件。同样也可以设置单独的home,比如

adrci> set home diag/rdbms/orcl/orcl

adrci> show alert    //类似vi编辑意义昂

2.3.3  动态查看定义目录下的日志

一定要先设置目录,不然不能查看,会得到以下错误,所以应该先设置home

adrci> show alert -tail -f

DIA-48449: Tail alert can only apply to single ADR home

adrci> sethome diag/rdbms/orcl/orcl

adrci> show alert -tail -f

用ctrl - c 方式可以退出动态查看

这个命令有点熟悉,类似于Linux中的“tail -f 文件名”,这里的“show alert -tail -”f 同样适用于Windows

2.3.4  查看alert日志中包含ORA-的字符串

这个语法可以查看帮助(前面有列出),其中-p参数可以跟基于XXX的信息,比如下面是基于包含ORA- 的信息

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

更多详情见请继续阅读下一页的精彩内容:

  • 1
  • 2
  • 下一页

相关内容