Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

LongOpsWatcher no SQL Dev


Eu vi um vídeo de alguém que usou o novo utilitário de linha de comando, sqlcl, para criar um gráfico de barras mostrando o progresso de operações longas no Oracle, como visto em V$SESSION_LONGOPS. Esse vídeo me inspirou a fazer algo semelhante no SQL Developer.

Abaixo está um vídeo do LongOpsWatcher em ação. Você pode ver o tempo restante. Ele calcula a porcentagem de conclusão e inclui um gráfico de barras. Selecionei uma taxa de atualização de 5 segundos.



Não há como este relatório do SQL Developer iniciar automaticamente o relatório com uma taxa de atualização diferente de zero. Talvez isso venha em uma versão futura. Preenchi uma solicitação de aprimoramento e me disseram que outras pessoas ofereceram uma sugestão semelhante.

Aqui está a instrução SQL usada neste relatório do SQL Developer:
select inst_id,sid,message,time_remaining,to_char((sofar/totalwork)*100,'990.00') as pct_complete,
'SQLDEV:GAUGE:0:100:0:100:'||nvl(trunc((sofar/totalwork)*100,2),0) as pct_bar
from gv$session_longops
where time_remaining>0



Sinta-se à vontade para modificar para atender às suas necessidades.



Atualização (15/12/2015): Alguns dias depois de postar esta entrada, fui encaminhado para uma entrada de blog semelhante por Uwe Kuchler. Esta postagem mostra um bom observador de Long Ops no SQL Dev com muitos recursos de detalhamento sobre o que a sessão de longa duração está fazendo. Você pode ver a entrada do blog aqui: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044