Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alphamek

Verificar os JOBS em execução

Recommended Posts

Srs,

 

Abaixo segue uma instrução que utilizo para pegar os valores de sessão dos usuários que executam JOBS e as vezes fica preso:

 

set line 200
set pagesize 10000
col what format a40
col username format a15
col machine format a15

select a.username, a.osuser, a.machine, a.sid, a.serial#, b.spid, c.job, c.what
from v$session a, v$process b, dba_jobs c, dba_jobs_running d
where a.paddr=b.addr and c.job=d.job and a.sid in (select sid from dba_jobs_running);

 

Os principais valores são: SID, SERIAL# e SPID.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,realmente este script é muito útil, porém algumas vezes o acesso a dba_jobs_running é lento, o que pode causar uma lentidão no retorno dessa consulta.Como cada job em execução cria uma entrada do tipo JQ na dba_locks, que tem um acesso super-rápido, eu sugiro que o script seja mudado para o abaixo.

 select j.job, j.what, s.sid, s.serial#, p.spid, s.username, s.osuser from dba_jobs j inner join dba_locks l on j.job = l.lock_id2 and l.lock_type = 'JQ' inner join v$session s on s.sid = l.session_id inner join v$process p on p.addr = s.paddr

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.