Maison  >  Article  >  base de données  >  Comment vérifier où la procédure stockée est exécutée dans Oracle

Comment vérifier où la procédure stockée est exécutée dans Oracle

下次还敢
下次还敢original
2024-04-18 15:18:171040parcourir

Vous pouvez afficher l'état d'exécution de la procédure stockée Oracle via les méthodes suivantes : Utilisez le package DBMS_APPLICATION_INFO pour afficher les opérations en cours d'exécution. Utilisez la vue V$SESSION_LONGOPS pour afficher les détails des procédures stockées en cours d'exécution. Utilisez la vue V$SQL_EXECUTE pour afficher les informations d'exécution liées à la procédure stockée spécifiée.

Comment vérifier où la procédure stockée est exécutée dans Oracle

Comment vérifier où la procédure stockée Oracle est exécutée

Dans la base de données Oracle, vous pouvez vérifier où la procédure stockée est exécutée par la méthode suivante :

Utilisez le package DBMS_APPLICATION_INFO

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

Le Le résultat affichera les opérations en cours d'exécution, telles que :

  • BEGIN - l'exécution de la procédure stockée commence
  • END - l'exécution de la procédure stockée se termine
  • EXECUTE STATEMENT - l'instruction est en cours d'exécution
  • COMMIT - la transaction est en cours de validation

Utilisez la vue 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>

Le résultat affichera les détails de la procédure stockée en cours d'exécution, notamment :

  • sid - ID de session
  • event - type d'événement
  • p1text - instruction en cours d'exécution
  • rows_processed - nombre de lignes
  • elapsed_seconds - Temps d'exécution écoulé en secondes

Utilisation de la vue 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>

Le résultat affichera les informations d'exécution liées à la procédure stockée spécifiée, notamment :

  • sql_text - Texte SQL de la procédure stockée
  • row_count - nombre de lignes affectées
  • elapsed_time - temps écoulé en microsecondes

Exemple

Supposons qu'il existe une procédure stockée nommée "GET_EMPLOYEES". Pour visualiser son statut d'exécution, vous pouvez utiliser la requête suivante :

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

Le résultat affichera les informations suivantes :

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

Cela indique que la procédure stockée "GET_EMPLOYEES" est en cours d'exécution et que l'ID de session est 123.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn