Heim  >  Artikel  >  Datenbank  >  So überprüfen Sie, wo die gespeicherte Prozedur in Oracle ausgeführt wird

So überprüfen Sie, wo die gespeicherte Prozedur in Oracle ausgeführt wird

下次还敢
下次还敢Original
2024-04-18 15:18:17977Durchsuche

Sie können den Ausführungsstatus der gespeicherten Oracle-Prozedur mit den folgenden Methoden anzeigen: Verwenden Sie das Paket DBMS_APPLICATION_INFO, um die aktuell ausgeführten Vorgänge anzuzeigen. Verwenden Sie die Ansicht V$SESSION_LONGOPS, um Details der ausgeführten gespeicherten Prozeduren anzuzeigen. Verwenden Sie die Ansicht V$SQL_EXECUTE, um Ausführungsinformationen im Zusammenhang mit der angegebenen gespeicherten Prozedur anzuzeigen.

So überprüfen Sie, wo die gespeicherte Prozedur in Oracle ausgeführt wird

So überprüfen Sie, wo die gespeicherte Oracle-Prozedur ausgeführt wird

In der Oracle-Datenbank können Sie mit der folgenden Methode überprüfen, wo die gespeicherte Prozedur ausgeführt wird:

Verwenden Sie das DBMS_APPLICATION_INFO-Paket

<code class="sql">SELECT action FROM DBMS_APPLICATION_INFO;</code>

The Das Ergebnis zeigt die aktuell ausgeführten Vorgänge an, wie zum Beispiel:

  • BEGIN – die Ausführung der gespeicherten Prozedur beginnt
  • END – die Ausführung der gespeicherten Prozedur endet
  • EXECUTE STATEMENT – die Anweisung wird ausgeführt
  • COMMIT – die Transaktion wird festgeschrieben

Verwenden Sie die V$SESSION_LONGOPS-Ansicht

<code class="sql">SELECT sid, event, p1text, rows_processed, elapsed_seconds
FROM V$SESSION_LONGOPS
WHERE event LIKE '%EXECUTE PL/SQL%'
AND sid = <会话 ID>;</code>

Das Ergebnis zeigt Details der aktuell ausgeführten gespeicherten Prozedur an, einschließlich:

  • sid – Sitzungs-ID
  • event – ​​Ereignistyp
  • p1text – ausgeführte Anweisung
  • rows_processed – Anzahl der Zeilen verarbeitet
  • elapsed_seconds – Verstrichene Ausführungszeit in Sekunden

Verwenden der V$SQL_EXECUTE-Ansicht

<code class="sql">SELECT sql_text, row_count, elapsed_time
FROM V$SQL_EXECUTE
WHERE sql_text LIKE '%<存储过程名称>%'
AND sid = <会话 ID>;</code>

Das Ergebnis zeigt Ausführungsinformationen im Zusammenhang mit der angegebenen gespeicherten Prozedur an, einschließlich:

  • sql_text – SQL-Text der gespeicherten Prozedur
  • row_count – Anzahl der betroffenen Zeilen
  • elapsed_time – verstrichene Zeit in Mikrosekunden

Beispiel

Angenommen, es gibt eine gespeicherte Prozedur mit dem Namen „GET_EMPLOYEES“. Um den Ausführungsstatus anzuzeigen, können Sie die folgende Abfrage verwenden:

<code class="sql">SELECT sid, event, p1text
FROM V$SESSION_LONGOPS
WHERE event LIKE '%EXECUTE PL/SQL%'
AND p1text LIKE 'GET_EMPLOYEES%';</code>

Das Ergebnis zeigt die folgenden Informationen an:

<code>sid  event                                           p1text
123  EXECUTE PL/SQL                               GET_EMPLOYEES(...)</code>

Dies zeigt an, dass die gespeicherte Prozedur „GET_EMPLOYEES“ ausgeführt wird und die Sitzungs-ID 123 ist.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, wo die gespeicherte Prozedur in Oracle ausgeführt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn