Om du använder en modern version av databasen (9i eller senare) och du har en Enterprise Edition-licens kan du använda Fine-Graining Auditing. Det tillåter oss att granska användarfrågor på en mycket låg nivå av granularitet, genom definierade policyer.
För att fånga SQL-text och bindningsvariabler måste du ställa in AUDIT_TRAIL-parametern på lämpligt sätt när du lägger till en FGA-policy. Ta reda på mer.
"Jag använder en 11g-standard, så granskningsfunktioner stöds inte."
Inte exakt. AUDIT-kommandot är en del av Oracle-standardbygget, men det tillåter oss bara att fånga när en given användare utfärdar en SELECT mot en given tabell. Men, ja, för att ta reda på exakt vad de väljer kräver Enterprise Edition-licens.
Det finns heller ingen ON SELECT-utlösare, så vi kan inte rulla vår egen.
"Så kan jag använda AUDIT-kommandot i standardutgåvan? ... Men då sa en konsult till mig att jag inte kan använda det utan att betala företagslicens?"
Som konsult själv måste jag säga att killarna inte alltid vet vad de pratar om.
Så låt oss vara tydliga:
- kommandot AUDIT är en del av Oracle SQL. Den är användbar med Standard Edition. Faktum är att eftersom 11g är det aktiverat som standard. Den granskar allmän verksamhet. Få reda på mer.
- Fine Grained Auditing är ett PL/SQL-paket som endast kan användas om du har Enterprise Edition. Det tillåter oss att granska användaraktivitet på en mycket låg nivå. Ta reda på mer.