title: Is it possible to stop Oracle DB grants for specific user?
body: <p>My company uses Oracle 12c database. We have several users defined in the database and have a few roles defined as well. My preference is for our development team to grant access to new tables/procedures via roles rather than granting directly to the users. </p>
  
  <p>For instance lets say we have user USER1 and a role READ_ROLE granted to USER1. If a developer creates a new table TABLE1 </p>
  
  <ul>
  <li>They should not be allowed to grant read access on TABLE1 directly to USER1</li>
  <li>Instead they should grant read access to READ_ROLE which indirectly gives the same access to USER1</li>
  </ul>
  
  <p>Unfortunately we have team with 40+ developers and over time folks have been assigning the grants directly to users rather than roles. With 100k+ grants, a few hundred tables, and dozens of users it becomes hard to manage which is why I prefer to use roles. Also a bit hard to manually police it.</p>
  
  <p>Is there a systematic way with oracle DB to stop new grants from being allowed for a user? Maybe something that causes an exception when someone tries to add new grants?</p>