You execute the following commands to audit database activities:
SQL > ALTER SYSTEM SET AUDIT_TRIAL=DB, EXTENDED SCOPE=SPFILE;
SQL > AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE BY JOHN By SESSION WHENEVER
SUCCESSFUL;
Which statement is true about the audit record that generated when auditing after instance restarts?
A.
One audit record is created for every successful execution of a SELECT, INSERT OR DELETE command
on a table, and contains the SQL text for the SQL Statements.
B.
One audit record is created for every successful execution of a SELECT, INSERT OR DELETE command,
and contains the execution plan for the SQL statements.
C.
One audit record is created for the whole session if john successfully executes a SELECT, INSERT, or
DELETE command, and contains the execution plan for the SQL statements.
D.
One audit record is created for the whole session if JOHN successfully executes a select command, and
contains the SQL text and bind variables used.
E.
One audit record is created for the whole session if john successfully executes a SELECT, INSERT, or
DELETE command on a table, and contains the execution plan, SQL text, and bind variables used.
A is correct.
The behaviour of BY SESSION in 12 changed:
BY SESSION
In earlier releases, BY SESSION caused the database to write a single record for all SQL statements or operations of the same type executed on the same schema objects in the same session. Beginning with this release of Oracle Database, both BY SESSION and BY ACCESS cause Oracle Database to write one audit record for each audited statement and operation. BY SESSION continues to populate different values to the audit trail compared with BY ACCESS. Oracle recommends that you include the BY ACCESS clause for all AUDIT statements, which results in a more detailed audit record. If you specify neither clause, then BY ACCESS is the default.
https://docs.oracle.com/database/121/SQLRF/statements_4007.htm#SQLRF01107
D is correct.