Oracle
 sql >> Datenbank >  >> RDS >> Oracle

LongOpsWatcher in SQL Dev

Ich habe ein Video von jemandem gesehen, der das neue Befehlszeilendienstprogramm sqlcl verwendet hat, um ein Balkendiagramm zu erstellen, das den Fortschritt langer Operationen in Oracle zeigt, wie es von V$SESSION_LONGOPS aus gesehen wird. Dieses Video hat mich dazu inspiriert, etwas Ähnliches in SQL Developer zu machen.

Unten sehen Sie ein Video von LongOpsWatcher in Aktion. Sie können die verbleibende Zeit sehen. Es berechnet den Fertigstellungsgrad und enthält ein Balkendiagramm. Ich habe eine Aktualisierungsrate von 5 Sekunden ausgewählt.

Es gibt für diesen SQL Developer-Bericht keine Möglichkeit, den Bericht automatisch mit einer Aktualisierungsrate ungleich null zu starten. Vielleicht kommt das in einer zukünftigen Version. Ich habe eine Verbesserungsanfrage ausgefüllt und mir wurde gesagt, dass andere einen ähnlichen Vorschlag gemacht haben.

Hier ist die in diesem SQL-Entwicklerbericht verwendete SQL-Anweisung:

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

Fühlen Sie sich frei, es an Ihre Bedürfnisse anzupassen.

Update (15.12.2015): Ein paar Tage nachdem ich diesen Eintrag gepostet hatte, wurde ich von Uwe Kuchler auf einen ähnlichen Blog-Eintrag verwiesen. Dieser Beitrag zeigt einen netten Long Ops-Beobachter in SQL Dev mit vielen Drilldown-Funktionen, was die lange laufende Sitzung tut. Sie können den Blogeintrag hier anzeigen: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044