Vous êtes sur la page 1sur 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/

Vous aimerez peut-être aussi