하단 영역
Transaction List Table에서 특정 트랜잭션을 선택하면 해당 트랜잭션의 상세 정보가 하단 탭 그룹에 표시되며, 각 탭은 V$ 뷰 기반의 쿼리를 통해 실시간으로 선택된 트랜잭션의 상세 정보(현재 실행 중인 SQL, 실행 계획, 관련 세션 정보, 대기 이벤트, Blocking 현황 등)를 조회한다.
하단 탭의 데이터는 상단에서 트랜잭션을 선택할 때만 갱신되며, 별도의 자동 갱신은 이루어지지 않는다.
Current SQL
선택한 세션에서 현재 실행 중인 SQL 문장을 표시한다. 선택된 세션의 SQL_ID
, CHILD_NUMBER
기준으로 조회된다.

Current SQL Plan
Current SQL에서 조회한 현재 실행 중인 SQL의 실행 계획(Execution Plan)을 조회할 수 있다. 실행 계획은 Tree 형태와 Text 형태 두 가지의 View를 제공한다.

자세한 내용은 [SQL Plan] 파트를 참고한다.
Session
Session 탭은 선택한 트랜잭션과 연관된 세션의 상세 정보를 표시하는 화면이다.
해당 탭은 GV$SESSION
, V$SESSION
뷰를 기반으로 하며, 세션의 상태, 자원 사용 현황, 실행 중인 SQL, 대기 이벤트 등 세션 레벨의 다양한 정보를 확인할 수 있어 트랜잭션 분석 및 문제 원인 파악에 유용하다.

조회되는 정보는 다음과 같다.
INST_ID
인스턴스 ID이다.
SID
세션 ID이다.
SERIAL#
세션의 고유 일련 번호이다.
AUDSID
세션의 보조 일련 번호이다.
USER#
현재 세션의 사용자 ID이다.
LOGIN_USER
현재 로그인한 사용자 이름이다.
COMMAND
현재 실행 중인 SQL의 유형이다.
STATUS
세션 상태이다.
SCHEMA#
현재 세션의 스키마 ID이다.
SCHEMANAME
현재 세션의 스키마 이름이다.
TYPE
세션 유형이다.
SQL_TRACE
SQL Trace 사용 여부이다.
SQL_ID
현재 실행 중인 SQL의 ID이다.
SQL_CHILD_NUMBER
현재 실행 중인 SQL의 Child Number이다.
SQL_ELAPSED_TIME(SEC)
현재 실행 중인 SQL의 경과 시간(초)이다.
PREV_SQL_ID
마지막으로 실행된 SQL의 ID이다.
PREV_CHILD_NUMBER
마지막으로 실행된 SQL의 Child Number이다.
STATE
세션 워킹 스레드의 상태이다.
WLOCK_WAIT
세션이 대기 중인 Wlock 유형이다.
WAIT_EVENT
세션이 대기 중인 이벤트 유형이다.
WAIT_TIME(SEC)
대기 이벤트의 경과 시간(초)이다.
PGA_USED_MEM(MB)
세션이 사용 중인 PGA 메모리(MB)이다.
PROGRAM
클라이언트 프로그램 이름이다.
CLIENT_PID
클라이언트 프로세스 ID이다.
PID
세션이 속한 서버 프로세스 ID이다.
WTHR_ID
세션이 속한 워커 스레드 인덱스이다.
OS_THR_ID
OS에서 생성된 스레드 ID이다.
OSUSER
세션 연결에 사용된 OS 계정명이다.
MACHINE
세션이 연결된 호스트명이다.
IP_ADDRESS
세션이 연결된 클라이언트 IP 주소이다.
LOGON_TIME
세션의 로그인 시간이다.
TERMINAL
세션 연결의 터미널(tty) 정보이다.
MODULE
dbms_application_info.set_module
에 의해 지정된 모듈명이다.
ACTION
dbms_application_info.set_module/action
에 의해 지정된 액션명이다.
CLIENT_INFO
dbms_application_info.set_client_info
에 의해 지정된 클라이언트 정보이다.
CLIENT_IDENTIFIER
dbms_session.set_identifier
에 의해 지정된 클라이언트 ID이다.
PDML_ENABLED
병렬 DML 사용 여부이다 (YES/NO).
PDML_STATUS
병렬 DML 상태이다 (FORCE, ENABLED, DISABLED).
PDDL_STATUS
병렬 DDL 상태이다 (FORCE, ENABLED, DISABLED).
PQ_STATUS
병렬 Query 상태이다 (FORCE, ENABLED, DISABLED).
ROW_WAIT_OBJ_ID
행 잠금 대기 시 잠금을 유발하는 행의 객체 ID이다.
ROW_WAIT_FILE_NO
행 잠금 대기 시 잠금을 유발하는 행의 파일 번호이다.
ROW_WAIT_BLOCK_NO
행 잠금 대기 시 잠금을 유발하는 행의 블록 번호이다.
ROW_WAIT_ROW_NO
행 잠금 대기 시 잠금을 유발하는 행의 행 번호이다.
CONSUMER_GROUP
현재 세션이 속한 Consumer Group 이름이다.
CONSUMED_CPU_TIME
세션이 누적 사용한 CPU 시간이다.
Current Wait
Current Wait 탭은 선택한 트랜잭션이 현재 어떤 자원(Resource)에 대해 대기하고 있는지 상세히 보여주는 화면이다.
해당탭은 V$WAITER_SESSION
, V$SESSION_WAIT
, V$SESSION
, V$SYSTEM_EVENT
뷰를 기반으로 하며, 트랜잭션 실행 중 발생하는 Blocking 대기, 병목 현상 분석에 유용하다.

조회되는 정보는 다음과 같다.
SID
현재 대기 중인 세션의 ID이다.
LOCK_TYPE
대기 중인 자원의 락 타입이다.
WAIT_EVENT_NAME
세션이 대기 중인 이벤트의 이름이다.
WAIT_EVENT_CLASS
대기 이벤트의 분류이다.
ID1
대기 중인 자원을 식별하기 위한 첫 번째 ID이다.
ID2
대기 중인 자원을 식별하기 위한 두 번째 ID이다.
SEQ
동일 이벤트 대기의 순번이다.
TIME_WAITED_SEC
이벤트에 대해 실제로 대기한 시간(초)이다.
TIMEOUT_SEC
해당 대기에 대한 타임아웃 설정 값(초)이다.
MODE_REQUEST
세션이 요청한 Lock 모드이다.
HOLD_SID
현재 자원을 보유하고 있는 세션 ID이다.
HOLD_SERIAL
자원을 보유 중인 세션의 SERIAL 번호이다.
HOLD_USER
자원을 보유 중인 세션의 사용자 이름이다.
MODE_HELD
Lock의 Hold 유형이다.
Blocking Locks
Blocking Locks 탭은 현재 선택한 트랜잭션이 다른 트랜잭션의 자원을 점유하고 있어, 해당 트랜잭션들이 대기 상태에 빠져 있는 경우를 보여준다. 즉, 블로킹 트랜잭션(자원을 보유 중인 트랜잭션)의 관점에서, 어떤 트랜잭션이 자신 때문에 대기 중인지 확인할 수 있는 화면이다.
해당 탭은 V$WAITER_SESSION
, V$LOCK
, GV$SESSION
, V$SESSION
, GV$SQL
, GV$SESSION_IO
, DBA_OBJECTS
등의 뷰를 조합하여 구성된다.

조회되는 정보는 다음과 같다.
SID
현재 선택한 세션의 ID (락락을 보유 중인 세션)이다.
LOCK_TYPE
보유 중인 락의 타입이다.
LOCK_MODE
세션이 보유한 락 모드이다.
OBJECT_NAME
락이 걸려 있는 DB 객체 이름이다.
BLOCK_GETS
블로킹 세션이 수행한 블록 접근 횟수이다.
CONSISTENT_GETS
일관된 읽기 횟수 (Consistent Gets)이다.
PHYSICAL_READS
물리적 블록 읽기 횟수이다.
BLOCK_CHANGES
블록 변경 횟수이다.
CONSISTENT_CHANGES
일관된 변경 횟수이다.
MODE_REQUESTED
대기 중인 세션이 요청한 락 모드이다.
WAITING_INST_ID
락 대기 중인 세션의 인스턴스 ID이다.
WAITING_SID
락 대기 중인 세션의 세션 ID이다.
WAITING_USER
대기 중인 세션의 사용자 이름이다.
SQL_ID
현재 세션이 실행 중이거나 마지막으로 실행한 SQL의 ID이다.
SQL_CHILD_NUMBER
해당 SQL의 Child Cursor 번호이다.
SQL_TEXT
현재 세션에서 실행 중인 SQL 문장이다.
PROGRAM_NAME
클라이언트 프로그램 이름이다.
CLIENT_PID
클라이언트 측 프로세스 ID이다.
PID
서버 측 세션 프로세스 ID이다.
CTIME_SEC
현재 잠금이 유지된 시간(초)이다.
Last updated