활성 세션 / 실행 중인 쿼리 조회
Oracle
SELECT sid, serial#, username, status, sql_id, machine, program
FROM v$session
WHERE type = 'USER' AND status = 'ACTIVE';v$session은 현재 활성 세션을 보여 준다. 전체 SQL 텍스트는 sql_id로 v$sql과 조인한다.
PostgreSQL
SELECT pid, usename, state, wait_event_type, query
FROM pg_stat_activity
WHERE state <> 'idle';state = 'active'는 그 시점에 쿼리를 실행 중인 세션을 보여 준다. 소요 시간은 backend_start / query_start로 계산한다.
MySQL
SELECT id, user, host, db, command, time, state, info
FROM information_schema.processlist
WHERE command <> 'Sleep';
-- Shortcut: SHOW FULL PROCESSLIST;MySQL 8 / MariaDB에서는 performance_schema.processlist가 락을 더 적게 잡는다.
SQL Server
SELECT r.session_id, s.login_name, r.status, r.command,
r.cpu_time, r.total_elapsed_time, t.text AS sql_text
FROM sys.dm_exec_requests r
JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
WHERE s.is_user_process = 1;빠르게 확인하려면: EXEC sp_who2 'active';
MongoDB
db.currentOp({ "active": true })장시간 실행 작업 필터링: db.currentOp({ active: true, secs_running: { $gt: 5 } })
Redis
CLIENT LIST
# For a summary: INFO clientsRedis는 싱글 스레드이므로 '실행 중인 쿼리' 대신 연결된 클라이언트가 표시된다. 느린 명령은 SLOWLOG GET을 사용한다.