ホームページ  >  記事  >  データベース  >  Oracle でストアド プロシージャが実行される場所を確認する方法

Oracle でストアド プロシージャが実行される場所を確認する方法

下次还敢
下次还敢オリジナル
2024-04-18 15:18:17978ブラウズ

Oracle ストアド プロシージャの実行ステータスは、次の方法で表示できます。 DBMS_APPLICATION_INFO パッケージを使用して、現在実行中の操作を表示します。 V$SESSION_LONGOPS ビューを使用して、実行中のストアド・プロシージャの詳細を表示します。 V$SQL_EXECUTE ビューを使用して、指定したストアド・プロシージャに関連する実行情報を表示します。

Oracle でストアド プロシージャが実行される場所を確認する方法

#Oracle ストアド プロシージャが実行される場所を確認する方法

Oracle データベースでは、ストレージを確認できます。次のメソッドを使用します。 プロセスが実行される場所:

DBMS_APPLICATION_INFO パッケージを使用します。

<code class="sql">SELECT action FROM DBMS_APPLICATION_INFO;</code>
結果には、現在実行中の操作が表示されます。例:

    BEGIN - ストアド プロシージャの実行開始
  • END - ストアド プロシージャの実行終了
  • EXECUTE STATEMENT - ステートメントが実行中
  • COMMIT - トランザクションが送信中

V$SESSION_LONGOPS ビューを使用します

<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>
結果には、現在実行中のストアド プロシージャの詳細が表示されます。次の内容が含まれます。

    sid -セッション ID
  • event - イベント タイプ
  • p1text - 実行中のステートメント
  • rows_processed - 処理された行数
  • elapsed_seconds - 経過時間 (秒)

V$SQL_EXECUTE ビューを使用します

<code class="sql">SELECT sql_text, row_count, elapsed_time
FROM V$SQL_EXECUTE
WHERE sql_text LIKE '%<存储过程名称>%'
AND sid = <会话 ID>;</code>
結果には、次のような、指定されたストアド プロシージャに関連する実行情報が表示されます。

    sql_text -プロシージャのストレージ SQL テキスト
  • row_count - 影響を受ける行の数
  • elapsed_time - 経過時間 (マイクロ秒単位)

Example

「GET_EMPLOYEES」という名前のストアド プロシージャがあるとします。実行ステータスを表示するには、次のクエリを使用できます:

<code class="sql">SELECT sid, event, p1text
FROM V$SESSION_LONGOPS
WHERE event LIKE '%EXECUTE PL/SQL%'
AND p1text LIKE 'GET_EMPLOYEES%';</code>
結果には次の情報が表示されます:

<code>sid  event                                           p1text
123  EXECUTE PL/SQL                               GET_EMPLOYEES(...)</code>
これは、ストアド プロシージャ "GET_EMPLOYEES" が実行中であることと、セッション ID を示します。は123です。

以上がOracle でストアド プロシージャが実行される場所を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。