Sends the audit trail to the SYS.FGA_LOG$ table in the database and omits SQL Text and SQL Bind.
DB_EXTENDED (default)
PLS_INTEGER
3
XML
PLS_INTEGER
4
Writes the audit trail in XML files sent to the operating system and omits SQL Text and SQL Bind.
XML+EXTENDED
PLS_INTEGER
5
may no longer exist
ALL_COLUMNS
BINARY_INTEGER
1
ANY_COLUMNS (default)
BINARY_INTEGER
0
Dependencies
fga$
fga_log$
all_audit_policies
gv$xml_audit_trail
dba_audit_policies
user_audit_policies
dba_fga_audit_trail
Initialization Parameters
col name format a30
col value format a40
SELECT name, value
FROM gv$parameter
WHERE name LIKE '%audit%';
Pragmas
PRAGMA SUPPLEMENTAL_LOG_DATA(default,
AUTO)
Security Model
Execute is granted to the
EXECUTE_CATALOG_ROLE
ADD_POLICY
Create a new audit policy
dbms_fga.add_policy(
object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2,
audit_condition IN VARCHAR2 := NULL,
audit_column IN VARCHAR2 := NULL,
handler_schema IN VARCHAR2 := NULL,
handler_module IN VARCHAR2 := NULL, -- alerting
mechanism
enable IN BOOLEAN := NULL,
statement_types IN VARCHAR2 := 'SELECT',
audit_trail IN PLS_INTEGER := 3,
audit_column_opts IN BINARY_INTEGER DEFAULT 0);
set linesize 121
col audit_type format a20
col os_user format a25
col userhost format a15
col sql_bind format a20
select audit_type, session_id, os_user, userhost, session_cpu, scn, sql_bind
from dba_common_audit_trail;
DBMS_FGA Demo
As SYS
conn / as sysdba
desc fga_log$
SELECT COUNT(*)
FROM fga_log$;
desc dba_common_audit_trail
SELECT COUNT(*)
FROM dba_common_audit_trail;
GRANT EXECUTE ON dbms_fga TO uwclass;
GRANT select ON dba_audit_policies TO uwclass;
GRANT select ON dba_fga_audit_trail TO uwclass;
col name format a30
col value format a40
SELECT name, value
FROM gv$parameter
WHERE name LIKE '%audit%';
ALTER SYSTEM SET audit_sys_operations = TRUE SCOPE=SPFILE;
-- will require a restart so change it back
ALTER SYSTEM SET audit_sys_operations = FALSE SCOPE=SPFILE;
-- ALTER SYSTEM SET audit_file_dest = <dir> DEFERRED;