… und mit was ist deine Oracle Datenbank beschäftigt?

Softwareentwicklung, ETL im Data Warehouse, Reporting, Dashboards, usw. Irgendwann kommen wir immer an einer Stelle an, wo alle sagen: „Das dauert zu lange!“

Damit wir ausschließen können, dass es nicht die Datenbank ist die den Flaschenhals bildet müssen wir überprüfen, mit welchen Aufgaben die Datenbank zu diesem Zeitpunkt beschäftigt ist. Unter einigen anderen Methoden gibt es das Auslesen der View V$SQL. Mit einer Abfrage können wir sehen, welche Statements gerade abgeschlossen sind und welche noch arbeiten.

 

select module module,
  round(cpu_time/1000000,2) cpu_ts,
  last_load_time ,
  round(elapsed_time /1000000,2) elaps_ts,
  rows_processed row_cnt ,
  sql_fulltext fulltext ,
  sql_text sqltxt 
from v$sql
where 1                  = 1                     -- just a dummy
--and module               = 'pmdtm.exe'         -- limit your analysis to certain software product
and parsing_schema_name != 'SYS'                 -- exclude internal entrances
and module              is not null              -- exclude nulls
and last_load_time      > '2017-12-29/07:54:52'  --  limitation to time
--and ( upper(sql_text )like '%XYZ%')            -- searching a sp
order by last_load_time desc,  elapsed_time desc;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert