In your multitenant container database (CDB) containing pluggable database (PDBs), you granted the CREATE
TABLE privilege to the common user C # # A_ADMIN in root and all PDBs. You execute the following
command from the root container:
SQL > REVOKE create table FROM C # # A_ADMIN;
What is the result?
A.
It executes successfully and the CREATE TABLE privilege is revoked from C # # A_ADMIN in root only.
B.
It fails and reports an error because the CONTAINER=ALL clause is not used.
C.
It excludes successfully and the CREATE TABLE privilege is revoked from C # # A_ADMIN in root and all
PDBs.
D.
It fails and reports an error because the CONTAINER=CURRENT clause is not used.
E.
It executes successfully and the CREATE TABLE privilege is revoked from C # # A_ADMIN in all PDBs.
Explanation:
REVOKE ..FROM
If the current container is the root:
/ Specify CONTAINER = CURRENT to revoke a locally granted system privilege, object privilege, or role from a
common user or common role. The privilege or role is revoked from the user or role only in the root. This clause
does not revoke privileges granted with CONTAINER = ALL.
/ Specify CONTAINER = ALL to revoke a commonly granted system privilege, object privilege on a commonobject, or role from a common user or common role. The privilege or role is revoked from the user or role
across the entire CDB. This clause can revoke only a privilege or role granted with CONTAINER = ALL from
the specified common user or common role. This clause does not revoke privileges granted locally with
CONTAINER = CURRENT. However, any locally granted privileges that depend on the commonly granted
privilege being revoked are also revoked.
If you omit this clause, then CONTAINER = CURRENT is the default.