Exhibit
You have created the following auditing policy:
BEGIN
dmbs_fga.add_policy (
object_schema => ‘DNX’,
object_name => ‘CUSTOMERS’
policy_name => ‘policy_acc_principal’,
audit_condition =>NULL,
audit_column => ‘ACCOUNT_ID, AMOUNT’,
audit_column_opts => DBMS_FGA.ALL_COLUMNS,
audit_trail => DBMS_FGA.DB_EXTENDED,
statement_types => ‘INSERT, UPDATE’);
END;
Which statement is true about the fine-grained auditing implemented by this policy?
A.
An audit record is created for all INSERT and UPDATE statements on either the ACCOUNT_ID or AMOUNT columns.
B.
An audit record is created for all INSERT and UPDATE statements on both the ACCOUNT_ID or AMOUNT columns.
C.
An audit record is created for all INSERT and UPDATE statements and the UPDATE statement on the AMOUNT column.
D.
An audit record is created for all INSERT and UPDATE statements when the ACCOUNT_ID or the AMOUNT column contains a NULL value.
Explanation:
Not A: DBMS_FGA.ALL_COLUMNS imply that the operation must be on BOTH account_id AND amount. Thus, options A and B are wrong! An option is provided to audit based on whether ANY or ALL of the relevant columns are used in the statement:
audit_column_opts => DBMS_FGA.ALL_COLUMNS / DBMS_FGA.ANY_COLUMNS Audit trail writes the SQL text and SQL bind information to LOBs.
Pp 17-14