title: Oracle Roles, Privileges, and custom types spread across different schemas
body: <p>I have a schema that contains the vast majority of tables on my project, DEV2. </p>
  
  <p>Additionally, I have a schema that contains oracle custom types used by DEV2: PUBLIC_TYPES.</p>
  
  <p>I want to be able to create triggers on DEV2 that access the roles in PUBLIC_TYPES, but would prefer to do this with a role, so that when I create DEV3 (a clone of DEV2), I can just grant the role to DEV3 prior to compiling the triggers.</p>
  
  <p>At the moment, if I perform the following:</p>
  
  <pre><code>grant all on public_types.type_name to DEV2;
  </code></pre>
  
  <p>and then (on the DEV2 user) I type:</p>
  
  <pre><code>desc public_types.type_name;
  </code></pre>
  
  <p>I get the proper description of the type.</p>
  
  <p>However, if I instead do the following:</p>
  
  <pre><code>create role TABLE_PRIVS;
  grant all on public_types.type_name_2 to TABLE_PRIVS;
  grant table_privs to DEV2;
  </code></pre>
  
  <p>(and then switch to my DEV2 user, and desc)</p>
  
  <pre><code>desc public_types.type_name_2
  </code></pre>
  
  <p>I get </p>
  
  <pre><code>ORA-04043: object public_types.type_name_2 does not exist
  </code></pre>
  
  <p>What am I missing? I've granted the privilege to a role, and the role to a user. Does this work differently with types?</p>
  
  <p>Thanks in advance!</p>