Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhalte ich Oracle und sehe, welche Verfahren ausgeführt werden?

Abhängig von Ihren Anforderungen könnte dies ausreichen (verlässt sich jedoch auf den Zugriff auf v$session und 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

Gemäß der Dokumentation:

PLSQL_ENTRY_OBJECT_ID – ID des obersten PL/SQL-Unterprogramms auf dem Stack; NULL, wenn es kein PL/SQL-Unterprogramm auf dem Stack gibt

PLSQL_OBJECT_ID – Objekt-ID des aktuell ausgeführten PL/SQL-Unterprogramms; NULL, wenn SQL ausgeführt wird