Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je obtenir Oracle, voir quelles procédures sont en cours d'exécution ?

Selon vos besoins, cela peut suffire (mais dépend de l'accès à v$session et dba_objects) :

select 'CALLED PLSQL', vs.username, d_o.object_name -- whatever info you need
  from dba_objects d_o
       inner join
       v$session vs
          on d_o.object_id = vs.plsql_entry_object_id
union all
select 'CURRENT PLSQL', vs.username, d_o.object_name
  from dba_objects d_o
       inner join
       v$session vs
          on d_o.object_id = vs.plsql_object_id

Selon la documentation :

PLSQL_ENTRY_OBJECT_ID - ID du sous-programme PL/SQL le plus élevé sur la pile ; NULL s'il n'y a pas de sous-programme PL/SQL sur la pile

PLSQL_OBJECT_ID - ID d'objet du sous-programme PL/SQL en cours d'exécution ; NULL si exécution SQL