sql >> Databasteknik >  >> RDS >> Oracle

LongOpsWatcher i SQL Dev

Jag såg en video av någon som använde det nya kommandoradsverktyget sqlcl för att skapa ett stapeldiagram som visar framstegen för långa operationer i Oracle, sett från V$SESSION_LONGOPS. Den videon inspirerade mig att göra något liknande i SQL Developer.

Nedan är en video av LongOpsWatcher i aktion. Du kan se den återstående tiden. Den beräknar slutförandeprocenten och inkluderar ett stapeldiagram. Jag valde en uppdateringsfrekvens på 5 sekunder.

Det finns inget sätt för den här SQL-utvecklarrapporten att automatiskt starta rapporten med en uppdateringsfrekvens som inte är noll. Kanske kommer det i en framtida version. Jag fyllde i en förbättringsbegäran och jag har fått höra att andra har erbjudit ett liknande förslag.

Här är SQL-satsen som används i denna SQL-utvecklarrapport:

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

Ändra gärna för att passa dina behov.

Uppdatering (12/15/2015): Några dagar efter att jag lade upp det här inlägget hänvisades jag till ett liknande blogginlägg av Uwe Kuchler. Det här inlägget visar en trevlig Long Ops-bevakare i SQL Dev med massor av detaljerad kapacitet för vad den långa löpsessionen gör. Du kan se blogginlägget här: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044


  1. SQL Unik begränsning över flera tabeller

  2. Hur man får dagnamnet från ett datum i Oracle

  3. COT() Exempel i SQL Server

  4. Förstå effekterna av hög latens i High Availability MySQL- och MariaDB-lösningar