pl/sql-Prozedur... wo kommt der Zeitpunkt der Ausführung gehen?

Ich bin derzeit auf der Verfolgung eines performance-Leck in einer gespeicherten Prozedur.
Mit einem timestamp setzen sich direkt nach der ersten "begin" - und einer rechts vor dem endgültigen "Ende" (ich mache einen commit vor) sagt, der Vorgang dauert abt. 10 Sekunden zu beenden.
Allerdings habe ich zu warten, nur 2 Minuten+ für Sie zu Ende.

Kann mir jemand sagen, wo der rest der Zeit geht? Ich bin mit Oracle-SQL-dev, aber Es scheint nicht zu sein, idleing für den rest der Zeit, das Verfahren scheint die Sperre für die betreffende Tabelle 🙁

Vielen Dank im Voraus für die Aufklärung....

EDIT: nochmals vielen Dank für euren input 🙂
hier ist der vereinfachte code für die Prozedur, je nach der Anzahl der Elemente, die verarbeitet werden, 1. Abschnitt derzeit dauert abt. 10 bis 40 Sekunden, die 2. Sektion ein paar millisecs. aber das Verfahren dauert 2 bis 8 Minuten zu laufen.
auch die Tabelle mit den Daten zu löschen scheinen gesperrt zu werden etwas länger als nötig, wodurch Einsätze verschoben werden.
der Start als geplanter job macht keinen Unterschied, btw, dasselbe Verhalten.

create or replace
procedure MY_PROCEDURE is
start_procedure number;
start_delete number;
end_procedure number;
begin

  start_procedure :=dbms_utility.get_time;

  begin
  -- stripped: doing some selects/updates here
  end;
  commit;

  start_delete :=dbms_utility.get_time ;

  begin
  -- stripped: cleanig up some other data here
  end;
  commit;
  end_procedure :=dbms_utility.get_time ;

  dbms_output.put_line('procedure took: '||to_char((end_procedure- start_procedure)/1000));
  dbms_output.put_line('updates took: '||to_char((start_delete- start_procedure)/1000));
  dbms_output.put_line('delete took: '||to_char((end_procedure-start_delete)/1000));

end;
haben Sie versucht, diese von sqlplus?
guter Vorschlag - habe es gerade ausprobiert. es dauert so lange, wie mit der sqldev
Könnten Sie den text für die Prozedur (mit dem Mut, zwischen den Zeitstempel prüft entfernt), und ein Beispiel des Codes, die Sie verwenden, um es zu testen?
vielen Dank für Ihren Kommentar. soeben das vereinfachte code

InformationsquelleAutor PeterP | 2009-06-26

Schreibe einen Kommentar