0% found this document useful (0 votes)
574 views5 pages

Alert Log From Sqlplus Prompt

This document discusses how to query and monitor Oracle alert and listener logs using the V$DIAG_ALERT_EXT view. It provides SQL examples to select messages from the alert log that contain ORA errors from the last 5 minutes as well as examples selecting from the listener log. It also discusses mapping the alert log as an external table for querying.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
574 views5 pages

Alert Log From Sqlplus Prompt

This document discusses how to query and monitor Oracle alert and listener logs using the V$DIAG_ALERT_EXT view. It provides SQL examples to select messages from the alert log that contain ORA errors from the last 5 minutes as well as examples selecting from the listener log. It also discusses mapping the alert log as an external table for querying.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

set lines 999 pages 999

col MESSAGE_TEXT for a65


select
MESSAGE_TEXT,ORIGINATING_TIMESTAMP
from v$diag_alert_ext t
where t.MESSAGE_TEXT like '%ORA-%' and ORIGINATING_TIMESTAMP > sysdate -1
/
select
MESSAGE_TEXT,ORIGINATING_TIMESTAMP
from v$diag_alert_ext t
where t.ORIGINATING_TIMESTAMP > sysdate -1
/
select MESSAGE_TEXT,ORIGINATING_TIMESTAMP from v$diag_alert_ext where MESSAGE_TE
XT like '%ORA-%';
Select from Alert and Listener logs using V$DIAG_ALERT_EXT
With Oracle 11.2 it is now possible to select directly from the alert and listen
er logs.
This is quite useful if a DBA is logged into the database, but not the server, a
nd wants to monitor logs.
..............................
# Selecting from the Alert log :-
SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT
from V$DIAG_ALERT_EXT
WHERE ORIGINATING_TIMESTAMP > sysdate -1/24
and trim(COMPONENT_ID)='rdbms';
select ORIGINATING_TIMESTAMP, MESSAGE_TEXT
from V$DIAG_ALERT_EXT
WHERE ORIGINATING_TIMESTAMP > sysdate -1
and trim(COMPONENT_ID)='rdbms';
ORIGINATING_TIMESTAMP
-----------------------------------------------------------------
MESSAGE_TEXT
-----------------------------------------------------------------
29-JAN-13 12.19.40.633000000 PM +09:00
create tablespace HR_AUDIT
29-JAN-13 12.19.42.037000000 PM +09:00
Completed: create tablespace HR_AUDIT
# Selecting from the Listener log :-
SQL> select ORIGINATING_TIMESTAMP,MESSAGE_TEXT
from V$DIAG_ALERT_EXT
WHERE ORIGINATING_TIMESTAMP > sysdate -1/240
and trim(COMPONENT_ID)='tnslsnr';
ORIGINATING_TIMESTAMP
-----------------------------------------------------------------
MESSAGE_TEXT
-----------------------------------------------------------------
29-JAN-13 12.20.22.866000000 PM +09:00
29-JAN-2013 12:20:22 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=perl)(HOST=rac1.tes
t.com)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.204)(PORT=15961))
* establish * test * 0
29-JAN-13 12.20.23.540000000 PM +09:00
29-JAN-2013 12:20:23 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=perl)(HOST=rac1.tes
t.com)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.204)(PORT=15962))
* establish * test * 0
last 5 minutes:
I am trying to fetch all the ORA- alert that has been created in last 5 min. My
db is 11.2.0.3. I am using below query as sys...

SELECT originating_timestamp, host_address, MESSAGE_TEXT
FROM sys.x$dbgalertext
WHERE TRIM (component_id) = 'rdbms'
AND MESSAGE_TEXT LIKE '%ORA-%'
AND originating_timestamp > SYSTIMESTAMP - INTERVAL '5' MINUTE;

It is working find and output is coming in 3 to 4 sec. But I need to do the same
as other user; so I used v$diag_alert_ext...

SELECT originating_timestamp, host_address, MESSAGE_TEXT
FROM v$diag_alert_ext
WHERE TRIM (component_id) = 'rdbms'
AND MESSAGE_TEXT LIKE '%ORA-%'
AND originating_timestamp > SYSTIMESTAMP - INTERVAL '5' MINUTE;
10g
http://www.dba-oracle.com/t_oracle_alert_log_sql_external_tables.htm
/slots/techstack/oracle/diagnostics/south04/bdump
Mapping the Oracle alert log is easy and once defined, all you have to do is que
ry it with standard SQL syntax:
create directory BDUMP as '/slots/techstack/oracle/diagnostics/south02/bdump/';
create directory BDUMP as '/slots/techstack/oracle/diagnostics/south03/bdump/';
create table
alert_log ( msg varchar2(80) )
organization external (
type oracle_loader
default directory BDUMP
access parameters (
records delimited by newline
)
location('alert_south03.log')
)
reject limit UNLIMITED;
Now we can easily extract important Oracle alert log information without leaving
SQL*Plus, something like this SQL:
select msg from alert_log where msg like 'ORA-00600%';
select msg from alert_log where msg like 'ORA%';
select msg from alert_log where msg like 'ORA%' ORDER BY rownum DESC;
select msg from alert_log where msg like 'ORA%' AND rownum <= 100 ORDER BY rownu
m DESC;
select msg from alert_log where msg like 'ORA%' and rownum <= 100 ORDER BY rownu
m DESC;
SELECT *
FROM (select msg from alert_log where msg like 'ORA%' ORDER BY rownum DESC) MESS
AGE_TEXT
WHERE rownum <= 100
ORDER BY rownum DESC;
ORA-00600: internal error code, arguments: [17034], [2940981512], [0],[],[],[],[
],[]
ORA-00600: internal error code, arguments: [18095], [0xC0000000210D8BF8],[],[],[
],[],[]
ORA-00600: internal error code, arguments: [4400], [48],[],[],[]
set lines 999 pages 999
col DIRECTORY_PATH for a50
select * from all_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ ------------------
--------------------------------
SYS QUEST_SOO_UDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/udump/
SYS QUEST_SOO_CDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/cdump/
SYS QUEST_SOO_BDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/bdump/
SYS ORACLE_OCM_CONFIG_DIR /slots/techstack/o
racle/ora10g/ccr/state
SYS DATA_PUMP_DIR /slots/techstack/o
racle/ora10g/rdbms/log/
SYS QUEST_SOO_ADUMP_DIR /slots/techstack/o
racle/diagnostics/south04/adump/
WNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ ------------------
--------------------------------
SYS BDUMP /slots/techstack/o
racle/diagnostics/south04/bdump
SYS QUEST_SOO_UDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/udump/
SYS QUEST_SOO_CDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/cdump/
SYS QUEST_SOO_BDUMP_DIR /slots/techstack/o
racle/diagnostics/south04/bdump/
SYS ORACLE_OCM_CONFIG_DIR /slots/techstack/o
racle/ora10g/ccr/state
SYS DATA_PUMP_DIR /slots/techstack/o
racle/ora10g/rdbms/log/
SYS QUEST_SOO_ADUMP_DIR /slots/techstack/o
racle/diagnostics/south04/adump/

You might also like