sql >> Database teknologi >  >> RDS >> Oracle

LongOpsWatcher i SQL Dev

Jeg så en video af en, der brugte det nye kommandolinjeværktøj, sqlcl til at lave et søjlediagram, der viser fremskridtene af lange operationer i Oracle, set fra V$SESSION_LONGOPS. Den video inspirerede mig til at gøre noget lignende i SQL Developer.

Nedenfor er en video af LongOpsWatcher i aktion. Du kan se den resterende tid. Den beregner fuldførelsesprocenten og inkluderer et søjlediagram. Jeg valgte en opdateringshastighed på 5 sekunder.

Der er ingen måde for denne SQL-udviklerrapport til automatisk at starte rapporten med en opdateringshastighed, der ikke er nul. Måske kommer det i en fremtidig version. Jeg udfyldte en anmodning om forbedring, og jeg har fået at vide, at andre har tilbudt et lignende forslag.

Her er den SQL-sætning, der bruges i denne SQL-udviklerrapport:

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

Du er velkommen til at ændre for at passe til dine behov.

Opdatering (15/12/2015): Få dage efter jeg havde lagt dette indlæg op, blev jeg henvist til et lignende blogindlæg af Uwe Kuchler. Dette indlæg viser en flot Long Ops-watcher i SQL Dev med masser af detaljerede muligheder for, hvad den langvarige session laver. Du kan se blogindlægget her: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044


  1. Oracle SQL DATE-konverteringsproblem ved brug af iBATIS via Java JDBC

  2. Data tutorial:Brug af vinduesfunktioner

  3. Forskellen mellem indre join og ydre join i SQL

  4. OVER-klausul i Oracle