2011-10-27 19 views
13

Utilizzo Oracle 11g Standard Edition.Registrazione query SQL Oracle

Vorrei registrare tutte le query SQL, che vengono eseguite dagli utenti, in una tabella.

Come si può fare?

+0

Per quale scopo vuoi questa informazione? È auditing? Monitoraggio dell'utilizzo? Qualcos'altro? – APC

+0

È per il controllo (selezionare, aggiornare, inserire, eliminare) – JMW

+0

correlati: http://stackoverflow.com/questions/1570978/oracle-xe-query-log –

risposta

10

Se si utilizza una versione moderna del database (9i o successivo) e si dispone di una licenza Enterprise Edition, è possibile utilizzare il controllo di precisione. Ci consente di controllare le query degli utenti a un livello molto basso di granularità, attraverso politiche definite.

Per acquisire testo SQL e associare variabili, è necessario impostare il parametro AUDIT_TRAIL in modo appropriato quando si aggiunge un criterio FGA. Find out more.


"sto usando uno standard 11g, in modo da funzioni di controllo non sono supportate."

Non esattamente. Il comando AUDIT fa parte della build Oracle standard, ma ci consente di catturare solo quando un determinato utente emette un SELECT su una determinata tabella. Ma, sì, per scoprire esattamente ciò che stanno selezionando selezionando la licenza Enterprise Edition è.

Inoltre, non esiste un trigger ON SELECT, quindi non è possibile eseguire il rollover.


"Così posso utilizzare il comando AUDIT nella Standard Edition? ... Ma poi un consulente mi ha detto, che non posso usarlo senza pagare impresa licenza?"

Parlando personalmente come consulente, devo dire che quei ragazzi non sanno sempre di cosa stanno parlando.

Quindi cerchiamo di essere chiari:

  • il comando AUDIT è parte di Oracle SQL. È utilizzabile con la Standard Edition. Infatti dal 11g è abilitato di default. Controlla l'attività generale. Find out more.
  • Fine Grained Auditing è un pacchetto PL/SQL che è utilizzabile solo se si dispone di Enterprise Edition. Ci consente di controllare l'attività degli utenti a un livello molto basso. Find out more.
+0

sto utilizzando uno standard 11g, quindi le funzioni di controllo non sono supportate . :/ – JMW

+0

Quindi posso usare il comando AUDIT nell'edizione standard? L'ho già fatto funzionare per 2 tavoli. Ma poi un consulente mi ha detto che non posso usarlo senza pagare la licenza aziendale? – JMW

+0

grazie mille molto MrGreen – JMW

0

Per registrazione QUICK, EASY di SQL, try my monitoring answer here. Non per la registrazione a lungo termine, ma funziona alla grande solo per vedere cosa sta succedendo in una finestra temporale ridotta. :-)