Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получа Oracle, да видя какви процедури се изпълняват?

В зависимост от вашите нужди това може да е достатъчно (но разчита на достъп до v$session и 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

Според документите:

PLSQL_ENTRY_OBJECT_ID - ID на най-горната PL/SQL подпрограма в стека; NULL, ако няма PL/SQL подпрограма в стека

PLSQL_OBJECT_ID - Идентификатор на обект на текущо изпълняваната PL/SQL подпрограма; NULL, ако се изпълнява SQL




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PLS-00221:'C1' (курсор) не е процедура или е недефиниран

  2. SQL:изтрийте всички данни от всички налични таблици

  3. Синтактична грешка на Oracle

  4. Невалиден номер на Oracle в клауза

  5. Зареждане на данни в огромна разделена таблица