Czy istnieje powód, dla którego chcesz wymyślić koło na nowo? Dlaczego nie skorzystać z wbudowanego audytu Oracle?
Baza Oracle zawiera podstawowe informacje, jak rozpocząć audyt:
AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
Poniższa lista zawiera opis każdego ustawienia:
none or false - Auditing is disabled.
db or true - Auditing is enabled, with all audit records stored in the database audit trial (SYS.AUD$).
db,extended - As db, but the SQL_BIND and SQL_TEXT columns are also populated.
xml- Auditing is enabled, with all audit records stored as XML format OS files.
xml,extended - As xml, but the SQL_BIND and SQL_TEXT columns are also populated.
os- Auditing is enabled, with all audit records directed to the operating system's audit trail.
Aby włączyć audyt do ścieżki audytu bazy danych, włącz audyt do db
SQL> ALTER SYSTEM SET audit_trail=db,extended SCOPE=SPFILE;
System altered.
Zamknij i uruchom ponownie bazę danych
SQL> SHUTDOWN
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.
Teraz skontroluj SELECTS
, INSERTS
, UPDATES
, DELETES
przez użytkownika cube
zrób to:
CONNECT sys/password AS SYSDBA
AUDIT ALL BY cube BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY cube BY ACCESS;
Kontrolowane dzienniki można wyświetlić, wysyłając zapytanie DBA_AUDIT_TRAIL
Dalsza lektura: