DB

Oracle alert, Listener trace log 등을 SQL문으로 보기

Lawmin 2016. 4. 8. 09:44

-- 11gR2 이상

select * from v$diag_alert_ext

where originating_timestamp > sysdate - 2

order by indx desc


-- 11gR2 이상 RAC 환경

-- gv$ view 만 있는 것이 아니라 gv$ 함수도 있다. (undocumented 이므로 사용에 주의)

select inst_id, originating_timestamp, message_text

from TABLE(gv$(cursor(select inst_id, originating_timestamp, message_text

from v$diag_alert_ext where originating_timestamp > (sysdate - 1)

and message_text like '%ORA-%')))

order by indx, inst_id;


-- 11g 이상 SYS 계정으로

-- 필요시 view, grant 해야 함

-- v$diag_alert_ext가 너무 느린 경우 사용 (listener 까지 추가로 읽는 데서 지연되는 것으로 추정)

select * from sys.x$DBGALERTEXT

where originating_timestamp > sysdate - 2

order by indx desc


-- 11g 미만은 alert.log 에 대하여 external table, utl_file 등으로 처리할 수 있으나,

서버상에서 직접 보거나 스크립트 처리하는 편이 낫겠다.