Questão de Banco de Dados — Administração de banco de dados — FUNDATEC 2025
Banco de Dados›Administração de banco de dados
Código
qg468565
Banca
FUNDATEC
Órgão
BRDE
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas - Subárea Administração de Banco de Dados
Um sistema OLTP apresenta lentidão generalizada em horário de pico. O DBA suspeita de contenção por bloqueios. Qual visualização do dicionário de dados ou ferramenta de monitoramento é a mais adequada para identificar, em tempo real, sessões que estão esperando por recursos e qual recurso específico está causando a espera?
AV$SESSION ou sys.dm_exec_sessions
BV$SQL ou sys.dm_exec_query_stats
CV$LOCK ou sys.dm_tran_locks
DV$SYSSTAT ou sys.dm_os_performance_counters
EV$SESSION_WAIT ou sys.dm_os_wait_stats
Revelar gabarito e comentário▾
GabaritoC — V$LOCK ou sys.dm_tran_locks
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Monitoramento de bloqueios em OLTP: Views e DMVs
Gabarito: letra C. Para diagnosticar contenção por bloqueios em tempo real, as visualizações V$LOCK (Oracle) e sys.dm_tran_locks (SQL Server) fornecem diretamente quais sessões estão bloqueadas e qual recurso (objeto, linha, etc.) está causando a espera. As demais alternativas mostram sessões, estatísticas de consulta ou contadores de desempenho, sem o detalhamento específico de bloqueios.
Alternativa
View/DMV (Oracle)
View/DMV (SQL Server)
Finalidade principal
Identifica recurso específico do bloqueio?
A ❌
V$SESSION
sys.dm_exec_sessions
Listar sessões ativas
Não
B ❌
V$SQL
sys.dm_exec_query_stats
Estatísticas de execução de consultas
Não
C ✅
V$LOCK
sys.dm_tran_locks
Monitorar bloqueios ativos
Sim
D ❌
V$SYSSTAT
sys.dm_os_performance_counters
Contadores de desempenho do sistema
Não
E ❌
V$SESSION_WAIT
sys.dm_os_wait_stats
Mostrar tipo de espera da sessão
Não (mostra o tipo de espera, não o recurso)
Alternativa A — ❌ Incorreta
V$SESSION ou sys.dm_exec_sessions listam sessões ativas, mas não exibem os bloqueios atuais nem o recurso específico que causa espera. Focam em informações gerais da sessão, não em contenção.
Alternativa B — ❌ Incorreta
V$SQL ou sys.dm_exec_query_stats exibem estatísticas de execução de queries (plano, tempo, leituras). Não têm relação direta com bloqueios; não mostram sessões em espera por recurso.
Alternativa C — ✅ Correta ⟵ GABARITO
V$LOCK (Oracle) e sys.dm_tran_locks (SQL Server) são as ferramentas padrão para monitorar bloqueios ativos. Elas informam o tipo de bloqueio, o recurso (objeto, linha, range), a sessão que o detém e a sessão que está esperando. Exatamente o que o DBA precisa identificar.
Alternativa D — ❌ Incorreta
V$SYSSTAT ou sys.dm_os_performance_counters fornecem contadores de desempenho do sistema (CPU, I/O, memória). Não trazem detalhes sobre bloqueios ou sessões esperando.
Alternativa E — ❌ Incorreta
V$SESSION_WAIT (Oracle) mostra o que a sessão está esperando no momento (tipo de espera, como enfileiramento de I/O). Já sys.dm_os_wait_stats (SQL Server) agrega estatísticas de espera do sistema. Embora possam indicar espera, não informam qual recurso específico está causando o bloqueio (ex.: qual tabela, qual linha). Esse detalhamento só é obtido com as views de bloqueio.
NÃO CAIA NESSA!
A banca pode tentar confundir com V$SESSION_WAIT (alternativa E), pois o nome sugere "espera". Mas essa view mostra o tipo de espera (ex.: "enqueue", "I/O"), e não o recurso bloqueado. Para identificar o recurso causador do bloqueio, é necessário o V$LOCK. Lembre-se: espera ≠ bloqueio. Bloqueio tem um detentor e um recurso; a view de espera mostra apenas que a sessão está num estado de espera.