Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como faço para obter o Oracle, ver quais procedimentos estão sendo executados?


Dependendo de suas necessidades, isso pode ser suficiente (mas depende do acesso a v$session e 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

Conforme os documentos:

PLSQL_ENTRY_OBJECT_ID - ID do subprograma PL/SQL mais alto na pilha; NULL se não houver subprograma PL/SQL na pilha

PLSQL_OBJECT_ID - ID do objeto do subprograma PL/SQL atualmente em execução; NULL se estiver executando SQL