Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

melacak pernyataan oracle

Sql Plus + tkprof.

alter session set timed_statistics = true; 
alter session set sql_trace = true; 
show parameter user_dump_dest



tkprof <trc-файл> <txt-файл>

Jika Anda perlu melacak sesi apa pun (bukan hanya sesi Anda sendiri):

 select sid,serial# from v$session

untuk melihat sisi sesi dan

begin
  sys.dbms_system.set_ev(sid, serial#, 10046, 12, '');
end;

Jika tidak, Anda dapat menggunakan pemicu masuk:

CREATE OR REPLACE TRIGGER SYS.TRACE_A_USER
AFTER
LOGON ON <some_db_user>.SCHEMA
DECLARE
user_sid NUMBER;
user_serial# NUMBER;
user_program VARCHAR2(48);
BEGIN
-- Collect the current user session details.
SELECT sid, serial#, UPPER(program)
INTO user_sid, user_serial#, user_program
FROM v$session
WHERE audsid = USERENV('SESSIONID');
-- Start tracing if the user is running the identified application.
IF user_program = 'SOMECODE.EXE' THEN
-- Enable tracing. Note level 12 tracing includes bind variable
-- and wait statistics.
sys.dbms_system.set_ev(user_sid, user_serial#, 10046, 12, '');
END IF;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ketergantungan Oracle.DataAccess.Client

  2. menemukan nomor yang hilang dari urutan setelah mendapatkan urutan dari string?

  3. Bagaimana mengubah Prioritas untuk Program Serentak

  4. Berikan Pilihan pada semua Tabel yang Dimiliki Oleh Pengguna Tertentu

  5. Bagaimana cara mengetahui kapan tabel tertentu dibuat di Oracle?