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.