Browse Docs

๐Ÿ•ต๏ธ Auditing

Enable auditing

1ALTER SYSTEM SET audit_trail = DB, EXTENDED SCOPE = SPFILE;   -- detailed user actions.
2SHOW PARAMETER audit_trail;    -- default NONE โ†’ set it to EXTENDED where possible.
3SHOW PARAMETER audit;          -- the full audit configuration.

Audit users

1AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY SESSION;
2AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY SESSION WHENEVER SUCCESSFUL;
3AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY SESSION WHENEVER NOT SUCCESSFUL;
4AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY ACCESS;
5AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY ACCESS WHENEVER SUCCESSFUL;
6AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE BY hr BY ACCESS WHENEVER NOT SUCCESSFUL;
7
8AUDIT ALL BY ACCESS;   -- alternatively, audit everything.

Audit tables

1AUDIT SELECT, INSERT, UPDATE ON hr.employees BY SESSION;
2AUDIT SELECT, INSERT, UPDATE ON hr.employees BY SESSION WHENEVER SUCCESSFUL;
3AUDIT SELECT, INSERT, UPDATE ON hr.employees BY SESSION WHENEVER NOT SUCCESSFUL;
4AUDIT SELECT, INSERT, UPDATE ON hr.employees BY ACCESS;
5AUDIT SELECT, INSERT, UPDATE ON hr.employees BY ACCESS WHENEVER SUCCESSFUL;
6AUDIT SELECT, INSERT, UPDATE ON hr.employees BY ACCESS WHENEVER NOT SUCCESSFUL;

View the audit trail

1SELECT * FROM dba_audit_trail WHERE username = 'HR';   -- the audited actions of a user.
2SELECT * FROM dba_stmt_audit_opts;                      -- the user-level audits enabled.
3SELECT * FROM dba_obj_audit_opts;                       -- the object-level audits enabled.
Sunday, October 4, 2026 Sunday, August 4, 2024