SQL> AUDIT DROP ANY TABLE BY scott BY SESSION WHENEVER SUCCESSFUL;
What is the effect of this command?
A.
One audit record is created for every successful DROP TABLE command executed in the session of SCOTT
B.
One audit record is generated for the session when SCOTT grants the DROP ANY TABLE privilege to other users
C.
One audit record is created for the whole session if user SCOTT successfully drops one or more tables in his session
D.
One audit record is created for every session of any other user in which a table owned by SCOTT is dropped successfully
E.
One audit record is created for every successful DROP TABLE command executed by any user to drop tables owned by SCOTT
It is teh same like 41
Shouldn’t it be A instead of C?
No it can’t be A because it includes the clause BY SESSION
Extract of the Oracle document 11g R2
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 SESSION is the default.
Note:
This change applies only to schema object audit options, statement options and system privileges that audit SQL statements other than data definition language (DDL) statements. The database has always audited BY ACCESS all SQL statements and system privileges that audit a DDL statement.
BY ACCESS
Specify BY ACCESS if you want Oracle Database to write one record for each audited statement and operation.
Note:
If you specify either a SQL statement shortcut or a system privilege that audits a data definition language (DDL) statement, then the database always audits by access. In all other cases, the database honors the BY SESSION or BY ACCESS specification.
For statement options and system privileges that audit SQL statements other than DDL, you can specify either BY SESSION or BY ACCESS. BY SESSION is the default.
Should by A based on the previous explanation. http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_4007.htm
I do not know exactly when but the exam has been validated against Oracle® Database 11g Release 2 version 11.2.0.1.0.. For that reason some questions/answer are probably different then when it was validated against 11 rel 1.
The 11.1 version of the Oracle reference doc has the same information regarding that topic. Below the extract of the 11.1 doc.
If you specify either a SQL statement shortcut or a system privilege that audits a data definition language (DDL) statement, then the database always audits by access. In all other cases, the database honors the BY SESSION or BY ACCESS specification.
11.2.0.4
ORA-32595: DDL statement cannot be audited with BY SESSION specified