sql >> Database >  >> RDS >> Oracle

Hoe toon ik lopende processen in Oracle DB?

Ik vermoed dat je gewoon een paar kolommen van V$SESSION en de SQL-instructie van V$SQL wilt pakken. Ervan uitgaande dat u de achtergrondprocessen wilt uitsluiten die Oracle zelf uitvoert

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'

De outer join is om die sessies af te handelen die momenteel niet actief zijn, ervan uitgaande dat je die wel wilt. Je zou ook de kolom sql_fulltext van V$SQL kunnen krijgen, die de volledige SQL-instructie zal hebben in plaats van de eerste 1000 tekens, maar dat is een CLOB en dus waarschijnlijk een beetje ingewikkelder om mee om te gaan.

Realistisch gezien wilt u waarschijnlijk alles bekijken wat beschikbaar is in V$SESSION, omdat u waarschijnlijk veel meer informatie kunt krijgen dan SP_WHO biedt.



  1. MySql Count kan geen 0 waarden weergeven

  2. Oracle 18c Nieuwe functie:online wijzigen van partitionering

  3. Oracle Database Security:Database Auditing

  4. Multi-cloudimplementatie voor MariaDB-replicatie met WireGuard