sql >> Databáze >  >> RDS >> Oracle

Jak zobrazím běžící procesy v Oracle DB?

Mám podezření, že byste si chtěli vzít jen pár sloupců z V$SESSION a příkaz SQL z V$SQL. Za předpokladu, že chcete vyloučit procesy na pozadí, které spouští samotný Oracle

SELECT sess.process, sess.status, sess.username, sess.schemaname, sql.sql_text
  FROM v$session sess,
       v$sql     sql
 WHERE sql.sql_id(+) = sess.sql_id
   AND sess.type     = 'USER'

Vnější spojení má zpracovat ty relace, které aktuálně nejsou aktivní, za předpokladu, že je chcete. Můžete také získat sloupec sql_fulltext z V$SQL, který bude mít celý příkaz SQL namísto prvních 1000 znaků, ale to je CLOB a je tedy pravděpodobně trochu složitější se s ním vypořádat.

Realisticky se pravděpodobně budete chtít podívat na vše, co je k dispozici ve V$SESSION, protože je pravděpodobné, že můžete získat mnohem více informací, než poskytuje SP_WHO.



  1. Kvíz o výkonu a ladění Oracle

  2. Naformátujte číslo jako měnu v MariaDB

  3. Proč by podmínka IN byla pomalejší než =v sql?

  4. Porovnání řetězců s rozlišením velkých a malých písmen