Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Oracle:esiste uno strumento per tracciare le query, come Profiler per SQL Server?

Ho trovato una soluzione facile

Passo 1. connettersi a DB con un utente amministratore utilizzando PLSQL o sqldeveloper o qualsiasi altra interfaccia di query

Passo 2. esegui lo script qui sotto; nella colonna S.SQL_TEXT vedrai le query eseguite

SELECT            
 S.LAST_ACTIVE_TIME,     
 S.MODULE,
 S.SQL_FULLTEXT, 
 S.SQL_PROFILE,
 S.EXECUTIONS,
 S.LAST_LOAD_TIME,
 S.PARSING_USER_ID,
 S.SERVICE                                                                       
FROM
 SYS.V_$SQL S, 
 SYS.ALL_USERS U
WHERE
 S.PARSING_USER_ID=U.USER_ID 
 AND UPPER(U.USERNAME) IN ('oracle user name here')   
ORDER BY TO_DATE(S.LAST_LOAD_TIME, 'YYYY-MM-DD/HH24:MI:SS') desc;

L'unico problema con questo è che non riesco a trovare un modo per mostrare i valori dei parametri di input (per le chiamate di funzione), ma almeno possiamo vedere cosa viene eseguito in Oracle e l'ordine senza utilizzare uno strumento specifico.