Sessões em Espera – Oracle

Neste artigo irei mostrar um simples script responsável por listar todas as sessões que estão com o ‘status’ de espera, ou seja, ainda estão na fila para poder conectar-se no banco.

O Oracle fornece várias views para facilitar a monitoração, neste post iremos utilizar duas views importantes chamado: v$session_wait e v$system_event. Estas views nos fornecem informações detalhadas sobre o estado de espera das sessões. É sempre importante verificar se há muitas sessões em espera, pois isso pode causar algum gargalo no sistema ou afetar alguns objetos individualmente.

Este script retorna os seguintes campos:

UserName: nome do usuário no Oracle;
SID: o id da sessão;
Serial#: o serial number da sessão, na qual é utilizado apenas para identificar a sessão dos objetos utilizados;
Event: o evento para a qual sessão está em espera;
Wait_Class: nome da classe para o evento em espera;
Wait_Time: se a sessão está atualmente aguardando, então o valor é 0. Se a sessão não está em uma espera e, em seguida, o valor é o seguinte: > 0-valor é a duração da última aguardar em centésimos de segundo -1 – duração da última espera foi menos de um centésimo de um segundo–2 – TIMED_STATISTICS parâmetro foi definido como false;
Seconds_In_Wait: mostra em segundos o tempo que a sessão está como espera;
State: o status da sessão.

Script:

SET LINESIZE 200
SET PAGESIZE 1000

COLUMN UserName FORMAT A20
COLUMN Event FORMAT A30
COLUMN Wait_Class FORMAT A15

SELECT 
	  NVL(s.UserName, '(oracle)') As UserName
	, s.SID
	, s.Serial#
	, sw.Event
	, sw.Wait_class
	, sw.Wait_Time
	, sw.Seconds_In_Wait
	, sw.State
FROM   
	v$session_wait sw, v$session s
WHERE  
	s.SID = sw.SID
ORDER BY 
	sw.Seconds_In_Wait DESC;

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s