Grant privilege to role with admin option Vs Grant role to user with admin option?
<p>I am little confused between following two CASES, though I know the result but I am not very convinced with the reason behind it. Need help from database experts.</p>

<p>(Say) A role ROLE1 is created along with USER1 and USER2 by dba </p>

<p><code>connect /as sysdba
create user USER1 identified by xyz;
create user USER2 identified by abc;
create role ROLE1;</code></p>

<p><strong>CASE 1:</strong></p>

<ol>
<li><p>A ‘select any table’ privilege is granted to ROLE1 without admin option</p>

<p><code>connect /as sysdba
grant select any table to ROLE1;</code></p></li>
<li><p>Grant ROLE1 to USER1 with admin option</p>

<p><code>connect /as sysdba
grant ROLE1 to USER1 with admin option;</code></p></li>
<li><p>Can USER1 now grant 'select any privilege' to other users?</p>

<p><code>connect USER1/xyz
grant select any table to USER2;</code></p></li>
</ol>

<p>I got ORA-01031: insufficient privileges error here, which means it is not the right way. </p>

<p><strong>CASE 2:</strong>  </p>

<ol>
<li><p>A ‘select any table’ privilege is granted to ROLE1 with admin option</p>

<p><code>connect /as sysdba
grant select any table to ROLE1 with admin option;</code></p></li>
<li><p>Grant ROLE1 to USER1 irrespective of whether you grant it w/ or w/o admin option</p>

<p><code>connect /as sysdba
grant ROLE1 to USER1;</code></p></li>
<li><p>Can USER1 now grant 'select any privilege' to other users?</p>

<p><code>connect USER1/xyz
grant select any table to USER2;</code></p></li>
</ol>

<p>This works perfectly without reporting any error.</p>

<p>Can any one please help understand why CASE2 works and why not CASE1? </p>