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

Wie kann ich Abfragen sehen, die für Oracle ausgeführt werden?

Wenn Sie die Abfragen eines bestimmten Benutzers sehen möchten, können Sie dies verwenden (vorausgesetzt, Sie haben die Berechtigung zum Abfragen von v$session und v$sqlarea (normalerweise durch SELECT_CATALOG_ROLE )

SELECT sess.sid,
       sess.username,
       sqla.optimizer_mode,
       sqla.hash_value,
       sqla.address,
       sqla.cpu_time,
       sqla.elapsed_time,
       sqla.sql_text
  FROM v$sqlarea sqla, v$session sess
 WHERE sess.sql_hash_value = sqla.hash_value
   AND sess.sql_address = sqla.address
   AND sess.username = 'SCOTT'

Ersetzen Sie SCOTT durch den entsprechenden Benutzernamen in Ihrem System

Ausgabe:

 544 SCOTT      ALL_ROWS   2004330732 07000001064088E8         89391       131836 SELECT sess.sid,        sess.username,
                                                                                        sqla.optimizer_mode,        sqla.h
                                                                                  ash_value,        sqla.address,        s
                                                                                  qla.cpu_time,        sqla.elapsed_time,
                                                                                         sqla.sql_text   FROM v$sqlarea sq
                                                                                  la, v$session sess  WHERE sess.sql_hash_
                                                                                  value = sqla.hash_value    AND sess.sql_
                                                                                  address = sqla.address    AND sess.usern
                                                                                  ame = 'SCOTT'