Oracle
 sql >> Base de données >  >> RDS >> Oracle

LongOpsWatcher dans SQL Dev

J'ai vu une vidéo de quelqu'un qui a utilisé le nouvel utilitaire de ligne de commande, sqlcl pour créer un graphique à barres montrant la progression des opérations longues dans Oracle, comme on le voit à partir de V$SESSION_LONGOPS. Cette vidéo m'a inspiré à faire quelque chose de similaire dans SQL Developer.

Ci-dessous, une vidéo de LongOpsWatcher en action. Vous pouvez voir le temps restant. Il calcule le pourcentage d'achèvement et comprend un graphique à barres. J'ai sélectionné un taux de rafraîchissement de 5 secondes.

Il n'existe aucun moyen pour ce rapport SQL Developer de lancer automatiquement le rapport avec un taux de rafraîchissement différent de zéro. Cela viendra peut-être dans une future version. J'ai rempli une demande d'amélioration et on m'a dit que d'autres personnes avaient proposé une suggestion similaire.

Voici l'instruction SQL utilisée dans ce rapport 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

N'hésitez pas à modifier en fonction de vos besoins.

Mise à jour (15/12/2015) : Quelques jours après avoir publié cette entrée, j'ai été renvoyé à une entrée de blog similaire par Uwe Kuchler. Cet article montre un bel observateur Long Ops dans SQL Dev avec de nombreuses capacités d'exploration en profondeur de ce que fait la longue session en cours d'exécution. Vous pouvez consulter l'entrée de blog ici : http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044