락 트리
홈 화면 > 프로젝트 선택 > 분석 > 락 트리
하루 동안 발생한 락(lock)의 추이를 분석하는 도구입니다. 이 기능을 통해 락을 발생시킨 세션(lock holder)과 락을 대기하고 있는 세션(lock waiter)에 대한 트리 구조를 시각적으로 확인할 수 있습니다. 특정 시점에 발생한 락 정보의 holder와 waiter 간의 관계를 분석할 수 있습니다.
주요 기능은 다음과 같습니다.
-
락 추이 분석: 설정한 조회 기간 동안 발생한 락의 추이를 시간에 따라 추적하여 그래프로 표시합니다. 이를 통해 락이 어떻게 발생하고 해소되는지를 시각적으로 파악할 수 있습니다.
-
락 Holder 및 Waiter 확인: 각 락에 대한 holder와 waiter를 트리 구조로 확인할 수 있습니다. 이를 통해 특정 락이 발생한 상황에서 락을 발생시킨 세션과 대기하는 세션 간의 관계를 파악할 수 있습니다.
-
세션 간 관계 분석: 락을 발생시킨 세션과 대기하는 세션 간의 관계를 분석하여 쿼리 실행 및 트랜잭션 처리 과정에서 발생한 락의 원인을 식별할 수 있습니다.
이를 통해 데이터베이스 관리자는 락 관련 문제를 신속하게 식별하고 해결할 수 있으며, 데이터베이스 성능을 최적화할 수 있습니다.
기본 사용 안내
-
화면 상단의 시간에서 조회하려는 날짜를 선택와 시간을 설정하세요.
-
모니터링할 인스턴스를 선택하세요.
선택한 인스턴스에서 설정한 시간 동안 발생한 잠금(Lock) 현황을 확인할 수 있습니다.
만약 설정된 시간 동안 잠금(Lock)이 발생했다면, Lock Wait Sessions 그래프와 하단의 테이블에서 특정 시간대에 잠금이 집중되는지, 또는 특정 세션이 지속적으로 잠금을 유발하는지 등을 분석할 수 있습니다.
차트에서 3시간 이내로 드래그해서 5초 단위의 데이터를 조회할 수 있습니다. 다만 5초 단위의 데이터는 최근 한 달 범위에서만 조회할 수 있습니다. 한 달 이전의 데이터는 5분 요약 데이터로만 볼 수 있습니다. 예를 들어, 40일 전의 락 트릭 데이터를 드래그(드릴다운)해서 5분 요약 데이터를 조회할 수 있으나 5초 데이터는 알 수 없습니다.
컬럼 정보 안내
각 세션에 대한 세부 정보는 다음 컬럼을 통해 제공합니다.
항목 | 설명 |
---|---|
event | 대기 이벤트의 이름입니다. |
holder type | 락을 소유하고 있는 세션의 유형입니다. |
id1 | 첫 번째 식별자 값입니다. |
id2 | 두 번째 식별자 값입니다. |
lock mode | 현재 세션에서 요청하거나 소유한 락 모드입니다. |
lock request | 세션에서 요청한 락의 상태입니다. |
module | 실행 중인 모듈의 이름입니다. |
pid | 데이터베이스 프로세스의 PID입니다. |
prev_sql_id | 이전에 실행된 SQL 문의 고유 ID입니다. |
prev_sql_param | 이전에 실행된 SQL의 파라미터입니다. |
prev_sql_text | 이전에 실행된 SQL 문의 텍스트입니다. |
prog_name | 세션을 실행하는 프로그램의 이름입니다. |
serial# | 동일한 세션의 반복적인 시도를 구분하는 일련번호입니다. |
sid | 세션을 고유하게 식별하는 세션 ID입니다. |
sql_et | SQL 실행 시간입니다. |
sql_id | 실행 중인 SQL 문의 고유 ID입니다. |
sql_param | SQL 실행에 사용된 파라미터입니다. |
sql_text | 실행 중인 SQL 문의 텍스트입니다. |
status | 세션의 상태입니다. |
username | 세션을 실행하는 사용자의 이름입니다. |
waiter type | 락을 기다리고 있는 세션의 유형입니다. |
와탭은 클라이언트와 관련한 정보를 기본 저장합니다.