User OE, the owner of the ORDERS table, issues the following command: GRANT SELECT ,INSERT
ON orders
TO hr
WITH GRANT OPTION;
The user HR issues the following command: GRANT SELECT ON oe.orders
TO scott;
Then, OE issues the following command:
REVOKE ALL
ON orders
FROM hr;
Which statement is correct?
A.
The user SCOTT loses the privilege to select rows from OE.ORDERS.
B.
The user SCOTT retains the privilege to select rows from OE.ORDERS.
C.
The REVOKE statement generates an error because OE has to first revoke the SELECT privilege from SCOTT.
D.
The REVOKE statement generates an error because the ALL keyword cannot be used for privileges that have been granted using WITH GRANT OPTION.
A is incorrect;
B is the corrent answer
Ok ok…. I was wrong A is the correct answer
A is wrong… because revoke all remove privs in later grants.
GRANT SELECT ,INSERT
ON enp
TO u1
WITH GRANT OPTION;
revoke all on enp from u1;
revoke all on enp from public;
GRANT all on enp to public
WITH GRANT OPTION;
1. We can grant object privileges only with grant option like (select,update,insert)
2. A———>B———>C
If A want to revoke privileges from C, it is not possible. The user who granted the privilege can only revoke. we have to revoke the privilege from B ,that automatically revoke the privileges from C.
I have the same idea.
https://docs.oracle.com/cd/B19306_01/network.102/b14266/admusers.htm#i1008790
You can only revoke the privileges that you, the grantor, directly authorized, not the grants made by other users to whom you granted the GRANT OPTION. However, there is a cascading effect. The object privilege grants propagated using the GRANT OPTION are revoked if a grantor object privilege is revoked.