oracle11g清空alert_log,oracle11g:通过sql语句读取alert log 信息

在11g中,oracle对数据库的诊断结果进行了一些改进,下面将讨论通过sql语句获取警告日志信息:

在oracle11g以前,如果需要通过sql语句来读取警告日志,一般通过外部表或者使用utl_file管道函数方式。在读取文本信息之后需要解析然后导出自己需要的信息。

从11g开始,oracle已经替你做了这些工作。它提供了一个固态表x$dbgalertext,当你查询的时候oracle从alert目录读取log.xml(包含警告日志中的所有信息),解析之,然后按行返回给用户:

SQL> set pagesize 9999

SQL> select message_text from x$dbgalertext where rownum<=20;

MESSAGE_TEXT

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

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Shared memory segment for instance monitoring created

Picked latch-free SCN scheme 2

Using LOG_ARCHIVE_DEST_1 parameter default value as D:\app\hongsy\product\11.1.0\db_1\RDBMS

Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST

Autotune of undo retention is turned on.

IMODE=BR

ILAT =18

LICENSE_MAX_USERS = 0

SYS auditing is disabled

Starting up ORACLE RDBMS Version: 11.1.0.6.0.

Using parameter settings in client-side pfile D:\APP\HONGSY\ADMIN\ORCL\PFILE\INIT.ORA on machine HH

System parameters with non-default values:

processes                = 150

nls_language             = "SIMPLIFIED CHINESE"

nls_territory            = "CHINA"

sga_target               = 460M

control_files            = "D:\APP\HONGSY\ORCL\CONTROL01.CTL"

20 rows selected.

以下是x$dbgalertext的字段信息:

SQL> desc X$DBGALERTEXT

Name                                      Null?    Type

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

ADDR                                               RAW(4)

INDX                                               NUMBER

INST_ID                                            NUMBER

ORIGINATING_TIMESTAMP                              TIMESTAMP(3) WITH TIME ZONE

NORMALIZED_TIMESTAMP                               TIMESTAMP(3) WITH TIME ZONE

ORGANIZATION_ID                                    VARCHAR2(64)

COMPONENT_ID                                       VARCHAR2(64)

HOST_ID                                            VARCHAR2(64)

HOST_ADDRESS                                       VARCHAR2(16)

MESSAGE_TYPE                                       NUMBER

MESSAGE_LEVEL                                      NUMBER

MESSAGE_ID                                         VARCHAR2(64)

MESSAGE_GROUP                                      VARCHAR2(64)

CLIENT_ID                                          VARCHAR2(64)

MODULE_ID                                          VARCHAR2(64)

PROCESS_ID                                         VARCHAR2(32)

THREAD_ID                                          VARCHAR2(64)

USER_ID                                            VARCHAR2(64)

INSTANCE_ID                                        VARCHAR2(64)

DETAILED_LOCATION                                  VARCHAR2(160)

PROBLEM_KEY                                        VARCHAR2(64)

UPSTREAM_COMP_ID                                   VARCHAR2(100)

DOWNSTREAM_COMP_ID                                 VARCHAR2(100)

EXECUTION_CONTEXT_ID                               VARCHAR2(100)

EXECUTION_CONTEXT_SEQUENCE                         NUMBER

ERROR_INSTANCE_ID                                  NUMBER

ERROR_INSTANCE_SEQUENCE                            NUMBER

VERSION                                            NUMBER

MESSAGE_TEXT                                       VARCHAR2(2048)

MESSAGE_ARGUMENTS                                  VARCHAR2(128)

SUPPLEMENTAL_ATTRIBUTES                            VARCHAR2(128)

SUPPLEMENTAL_DETAILS                               VARCHAR2(128)

PARTITION                                          NUMBER

RECORD_ID                                          NUMBER

这里同样有个固态表X$DBGDIREXT,它包含diag目录下所有文件和目录信息:

SQL> select lpad(' ',lvl,' ')||logical_file file_name

2  from X$DBGDIREXT

3  where rownum <=20;

FILE_NAME

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

asm

clients

user_hongsy

host_2986972688_11

alert

log.xml

cdump

incident

incpkg

lck

am_1096102193_3488045378.lck

am_1096102262_3454819329.lck

am_3216668543_3129272988.lck

metadata

adr_control.ams

inc_meter_impt_def.ams

inc_meter_pk_impts.ams

stage

sweep

trace

20 rows selected.

如果你自己构建了一些监控警告日志的程序,那么从11g开始,这些X$表将会帮助你。这对没有操作系统用户权限时,可以通过数据库权限来查阅。但是如果数据库实例没有运行的话,将不能使用此方式来查看警告日志信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值