Widziałem wideo kogoś, kto użył nowego narzędzia wiersza poleceń, sqlcl, aby utworzyć wykres słupkowy pokazujący postęp długich operacji w Oracle, jak widać z V $ SESSION_LONGOPS. Ten film zainspirował mnie do zrobienia czegoś podobnego w programie SQL Developer.
Poniżej znajduje się wideo przedstawiające LongOpsWatcher w akcji. Możesz zobaczyć pozostały czas. Oblicza procent ukończenia i zawiera wykres słupkowy. Wybrałem częstotliwość odświeżania 5 sekund.
Nie ma możliwości automatycznego uruchomienia raportu SQL Developer z niezerową częstotliwością odświeżania. Może to pojawi się w przyszłej wersji. Wypełniłem prośbę o ulepszenie i powiedziano mi, że inni zaoferowali podobną sugestię.
Oto instrukcja SQL użyta w tym raporcie dla programistów SQL:
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
Zapraszam do modyfikowania, aby dopasować swoje potrzeby.
Aktualizacja (15.12.2015): Kilka dni po opublikowaniu tego wpisu zostałem skierowany do podobnego wpisu na blogu przez Uwe Kuchlera. Ten post pokazuje fajny obserwator Long Ops w SQL Dev z wieloma możliwościami drążenia tego, co robi długa sesja. Możesz wyświetlić wpis na blogu tutaj: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044