title: Managing Oracle Synonyms
body: <p>I was reading this article:
  <a href="http://www.dba-oracle.com/concepts/synonyms.htm" rel="nofollow">Managing Oracle Synonyms</a></p>
  
  <p>Regarding the order of preference, when it come to resolving an object name to the actual object, it says:</p>
  
  <ol>
  <li><p>Local objects will always be accessed first.</p></li>
  <li><p>If a local object does not exist, the object with a private synonym will be accessed.</p></li>
  <li><p>If a private synonym does not exist or the object does not exist, then the public synonym will be used.</p></li>
  </ol>
  
  <p>I was wondering if the public objects are missing in this order somehow?</p>
  
  <p>E.g. if user BOB queries</p>
  
  <pre><code>select * from FOOBAR
  </code></pre>
  
  <p>and there is no BOB.FOOBAR in dba_tables/views but PUBLIC.FOOBAR.</p>
  
  <p>Does Oracle resolve it to PUBLIC.FOOBAR or will it check for synonyms first?</p>
  
  <p>Thank you.</p>