내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
OS환경 : Oracle Linux6.8(64bit)
DB 환경 : Oracle Database 11.2.0.4
쿼리 : OS 접속 권한 없이 oracle 접속해서 alert log 확인
v$diag_alert_ext 뷰를 이용하면 됨
원래 오라클은 alert로그나 listener로그를 파일에 기록하여 관리함
하지만 11gR2 부터는 v$diag_alert_ext 뷰에서도 위 로그들을 확인할 수 있음
v$diag_alert_ext 뷰는 현재 컨테이너 (PDB)의 자동 진단 저장소 (ADR)에있는 XML 기반 alert log 의 내용을 보여줌
위 뷰 뿐만아니라, x$dbgalertext 테이블에서도 확인할 수 있음
MESSAGE_TEXT 컬럼에 해당 로그들이 담김
V$뷰와 X$뷰의 차이
<V$_XXXX>
현재 Database의 상태에 관한 정보로 주로 DBA에게만 액세스가 허용되어 있음
주로 DBA의 모니터링 작업용 정보를 제공하며, X$ 테이블을 베이스로 하는 뷰
<X$_XXXX>
X$ 뷰는 V$ 뷰가 보여주지 않는 정보를 보여줌
X$ 테이블은 오라클의 메모리정보를 볼 수있는 SQL 인터페이스 뷰들로 Oracle 데이터베이스의 가장 숨겨진 영역 중 하나임
기본적으로 alert로그나 listener로그를 모두 조회 가능
(Index 없이 Full Scan으로 조회하기 때문에 성능이 좋지 않음
OS 에서 볼수 있는 경우 OS에서 alert log를 보는걸 권장함)
v$diag_alert_ext 뷰 조회
1 2 | SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT from v$diag_alert_ext; |
x$dbgalertext 뷰 조회
1 2 3 | SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT from x$dbgalertext where message_text like '%ORA-%'; |
alert로그만을 확인 하고 싶을 경우 component_id 값을 rdbms로 지정
1 2 3 | SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT from v$diag_alert_ext where trim (component_id) = 'rdbms'; |
listener로그만을 확인 하고 싶을 경우 component_id 값을 tnslsnr로 지정
1 2 3 | SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT from v$diag_alert_ext where trim (component_id) = 'tnslsnr'; |
또한 로그의 양이 많거나, 원하는 기간 내의 로그를 조회하고 싶다면 시간조절 또한 가능함
1 2 3 | SQL> select ORIGINATING_TIMESTAMP, MESSAGE_TEXT from v$diag_alert_ext where originating_timestamp > systimestamp - interval '1' hour; |
30일 이전부터 현재까지의 라인 넘버와 ORA 메세지 확인
1 2 3 4 5 6 | SQL> select rownum "line", message_text "error" from x$dbgalertext where originating_timestamp > (sysdate - 30) and message_text like '%ORA-%' order by originating_timestamp |
참조 :
http://www.dba-oracle.com/t_v$diag_alert_ext.htm
http://www.dba-oracle.com/t_alert_log_xml_reading.htm
How to - Monitor Non Critical 11g Database Alert Log Errors Using a SQL UDM (문서 ID 961682.1)
'ORACLE > Sql' 카테고리의 다른 글
리터럴 sql 조회 쿼리 (0) | 2019.02.15 |
---|---|
동시에 100개의 세션으로 dml 수행 방법 (0) | 2019.02.01 |
alert log 에 메세지 입력하는 방법 (dbms_system.ksdwrt 이용) (0) | 2019.01.30 |
substr로 문자열 추출 (0) | 2019.01.28 |
오라클 grid, crs 상태 확인용 쉘 스크립트 (0) | 2019.01.21 |