Oracle
 sql >> база данни >  >> RDS >> Oracle

LongOpsWatcher в SQL Dev

Видях видео на някой, който използва новата помощна програма за командния ред, sqlcl, за да създаде лента, показваща напредъка на дългите операции в Oracle, както се вижда от V$SESSION_LONGOPS. Това видео ме вдъхнови да направя нещо подобно в SQL Developer.

По-долу е видеоклип на LongOpsWatcher в действие. Можете да видите оставащото време. Той изчислява процента на завършеност и включва лента. Избрах 5-секундна честота на опресняване.

Няма начин този отчет на SQL Developer да стартира автоматично отчета с ненулева честота на опресняване. Може би това ще дойде в бъдеща версия. Попълних заявка за подобрение и ми казаха, че други са предложили подобно предложение.

Ето SQL израза, използван в този отчет за 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

Чувствайте се свободни да променяте, за да отговарят на вашите нужди.

Актуализация (15.12.2015 г.): Няколко дни след като публикувах този запис, бях препоръчан към подобен запис в блога от Uwe Kuchler. Тази публикация показва приятен наблюдател за дълги операции в SQL Dev с много възможности за разбивка на това какво прави продължителната сесия. Можете да видите записа в блога тук: http://oraculix.com/2015/12/14/reporting-long-running-operations-in-sql-developer/comment-page-1/#comment-1044


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отпадане на свързани потребители в базата данни на Oracle

  2. Използване на Oracle JDeveloper 12c с Oracle Database, част 1

  3. Как могат да бъдат обединени няколко реда в един в Oracle, без да се създава съхранена процедура?

  4. Как да намерите време за изпълнение на заявка в Oracle SQL Developer?

  5. Обработка на грешки в Oracle