논리 데이터 그룹에 대한 이벤트 유형 맵핑
파일 및 파이프 이벤트 모니터의 경우 이벤트 레코드는 모든 연결에 대해 생성될 수 있으며 따라서 스트림에서 혼합된 순서로 나타날 수 있습니다. 이는 연결 1에 대한 트랜잭션 이벤트가 발생하고 바로 이어서 연결 2에 대한 트랜잭션 이벤트가 발생할 수 있음을 의미합니다. 그러나 단일 연결 또는 단일 이벤트에 속하는 레코드는 논리적 순서로 나타납니다. 예를 들어, 명령문 레코드(명령문 끝)는 항상 트랜잭션 레코드(UOW 끝)(있는 경우) 앞에 옵니다. 비슷하게 교착 상태 이벤트 레코드는 항상 교착 상태에 관련되는 각 연결에 대한 교착 상태 연결 이벤트 레코드에 선행합니다. 애플리케이션 ID 또는 애플리케이션 핸들(agent_id)을 사용하여 레코드를 연결과 일치시킬 수 있습니다.
연결 헤더 이벤트는 일반적으로 데이터베이스에 대한 각 연결에
대해 기록됩니다. deadlocks with details 이벤트 모니터의 경우 교착 상태가 발생하는 경우에만 기록됩니다. 이 경우에
연결 헤더 이벤트는 교착 상태의 구성원(participant)에 대해서만
기록되고 데이터베이스의 모든 연결에 대해 기록되지 않습니다.
논리 데이터 그룹은 모니터, 프롤로그, 컨텐츠 및 에필로그라는 4가지 레벨에 따라서 정렬됩니다. 다음은 대응하는 이벤트 유형 및 논리 데이터 그룹을 포함하여 각 레벨에 대한 상세한 설명입니다.
모니터
| 이벤트 유형 | 논리 데이터 그룹 | 사용 가능한 정보 |
|---|---|---|
| 모니터 레벨 | event_log_stream_header | 이벤트 모니터의 버전 레벨 및 바이트 순서를 식별합니다. 애플리케이션은 이 헤더를 사용하여 evmon 출력 스트림을 처리할 수 있는지 여부를 판별할 수 있습니다. |
프롤로그
| 이벤트 유형 | 논리 데이터 그룹 | 사용 가능한 정보 |
|---|---|---|
| 로그 헤더 | event_log_header | 추적의 특성(예: 서버 유형 및 메모리 레이아웃) |
| 데이터베이스 헤더 | event_db_header | 데이터베이스 이름, 경로 및 활성화 시간 |
| 이벤트 모니터 시작 | event_start | 모니터가 시작 또는 재시작된 시간 |
| 연결 헤더 | event_connheader | 각 현재 연결에 대해 1이며, 연결 시간 및 애플리케이션 이름을 포함합니다. 이벤트 연결 헤더는 연결, 명령문, 트랜잭션 및 교착 상태 이벤트 모니터에 대해서만 생성됩니다. 세부사항이 있는 교착 상태 이벤트 모니터는 교착 상태가 발생할 때만 연결 헤더를 생성합니다. |
컨텐츠
이벤트 모니터의 지정된 이벤트 유형에 특정한 정보가 컨텐츠 섹션에 표시됩니다.
| 이벤트 유형 | 논리 데이터 그룹 | 사용 가능한 정보 |
|---|---|---|
| 명령문 이벤트 | event_stmt | 동적문에 대한 텍스트를 포함한 명령문 레벨 데이터. 명령문 이벤트 모니터는 페치를 로그하지 않습니다. |
| 서브섹션 이벤트 | event_subsection | 서브섹션 레벨 데이터 |
| 트랜잭션 이벤트1 | event_xact | 트랜잭션 레벨 데이터 |
| 연결 이벤트 | event_conn | 연결 레벨 데이터 |
| 교착 상태 이벤트 | event_deadlock | 교착 상태 레벨 데이터 |
| 교착 상태 연결 이벤트 | event_dlconn | 교착 상태에 관련되는 각 연결에 대해 1이며, 관련 애플리케이션 및 경합 중인 잠금이 포함됩니다. |
| 세부사항을 갖는 교착 상태 연결 이벤트 | event_detailed_dlconn, lock | 교착 상태에 관련되는 각 연결에 대해 1이며, 관련 애플리케이션, 경합 중인 잠금, 현재 명령문 정보 및 애플리케이션 경합이 보유하는 기타 잠금이 포함됩니다. |
| 오버플로우 | event_overflow | 유실된 레코드 수. 기록기가 (차단되지 않는) 이벤트 모니터와 접촉을 유지할 수 없을 때 생성됩니다. |
| 세부사항 실행기록을 갖는 교착 상태2 | event_stmt_history | 교착 상태에 관련된 모든 작업 단위(UOW)에서 실행되는 명령문 목록 |
| 세부사항 실행기록 값이 있는 교착 상태2 | event_data_value | event_stmt_history 목록에 있는 명령문에 대한 매개변수 표시문자 |
| 활동 | event_activity | 시스템에서 실행을 완료했거나 완료 전에 캡처된 활동 목록 |
| event_activitystmt | 활동 유형이 명령문인 경우 활동이 실행 중이었던 명령문에 관한 정보 | |
| event_activityvals | SQL문인 각 활동에 대한 입력 변수로서 사용되는 데이터 값입니다. 이러한 데이터 값에는 LOB 데이터, Long 데이터 또는 구조화된 유형이 포함되지 않습니다. | |
| 통계 | event_scmetrics | 임계값 큐로부터 계산된 통계뿐 아니라, 각 서비스 클래스, 작업 클래스 또는 시스템의 워크로드 안에서 실행한 활동으로부터 계산되는 통계 |
| event_scstats | ||
| event_superclassmetrics | ||
| event_superclassstats | ||
| event_wcstats | ||
| event_wlmetrics | ||
| event_wlstats | ||
| event_qstats | ||
| event_histogrambin | ||
| 임계값 위반 | event_thresholdviolations | 위반한 임계값 및 위반 시간을 식별하는 정보 |
- 1
- 이 옵션은 더 이상 사용되지 않습니다. 이 옵션의 사용은 더 이상 권장하지 않으며 추후 릴리스에서 제거될 수 있습니다. 트랜잭션 이벤트를 모니터링하려면 CREATE EVENT MONITOR FOR UNIT OF WORK문을 사용하십시오. 2
- 이 옵션은 더 이상 사용되지 않습니다. 이 옵션의 사용은 더 이상 권장하지 않으며 추후 릴리스에서 제거될 수 있습니다. CREATE EVENT MONITOR FOR LOCKING문을 사용하여 잠금 시간종료, 잠금 대기 및 교착 상태 등 잠금 관련 이벤트를 모니터링할 수 있습니다.
에필로그
에필로그 정보는 데이터베이스 비활성화(마지막 애플리케이션이 연결 해제 완료) 중에 생성됩니다.
| 이벤트 유형 | 논리 데이터 그룹 | 사용 가능한 정보 |
|---|---|---|
| 데이터베이스 이벤트 | event_db | 데이터베이스 관리자 레벨 데이터 |
| 버퍼 풀 이벤트 | event_bufferpool | 버퍼 풀 레벨 데이터 |
| 테이블스페이스 이벤트 | event_tablespace | 테이블스페이스 레벨 데이터 |
| 테이블 이벤트 | event_table | 테이블 레벨 데이터 |