sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo obtengo Oracle, veo qué procedimientos se están ejecutando?

Dependiendo de sus necesidades, esto podría ser suficiente (pero depende del acceso a v$session y 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

Según los documentos:

PLSQL_ENTRY_OBJECT_ID:ID del subprograma PL/SQL superior en la pila; NULL si no hay ningún subprograma PL/SQL en la pila

PLSQL_OBJECT_ID:ID de objeto del subprograma PL/SQL que se está ejecutando actualmente; NULL si se ejecuta SQL