title: How to recreate public synonym "DUAL"?
body: <p>Using SQLDeveloper 4.0.1.14 to create an export script (separate files &amp; "drops" checked), it generated me those 4 lines among others in <code>DROP.sql</code>:</p>
  
  <pre class="lang-sql prettyprint-override"><code>DROP SYNONYM "PUBLIC"."DUAL";
  DROP SYNONYM "PUBLIC"."DBMS_SQL";
  DROP SYNONYM "PUBLIC"."DBMS_LOCK";
  DROP SYNONYM "PUBLIC"."DBMS_OUTPUT";
  </code></pre>
  
  <p>Now that I have accidentally passed the whole script using <code>SYSTEM</code> user, I can no longer do modification (create or drop tables) to the database, I have that error popping:</p>
  
  <pre><code>An error was encountered performing the requested operation:
  
  ORA-00604: error occurred at recursive SQL level 1
  ORA-00942: table or view does not exist
  00604. 00000 -  "error occurred at recursive SQL level %s"
  *Cause:    An error occurred while processing a recursive SQL statement
         (a statement applying to internal dictionary tables).
  *Action:   If the situation described in the next error on the stack
         can be corrected, do so; otherwise contact Oracle Support.
  Vendor code 604
  </code></pre>
  
  <p>The problem is that I'm getting that error event when I try this:</p>
  
  <pre class="lang-sql prettyprint-override"><code>CREATE OR REPLACE PUBLIC SYNONYM "DUAL" FOR "SYS"."DUAL";
  </code></pre>
  
  <p>I precise that the <code>SYS.DUAL</code> table still exists as <code>SELECT 1 FROM SYS.DUAL</code> works but <code>SELECT 1 FROM DUAL</code> fails with <code>ORA-00942: table or view does not exist</code>.</p>
  
  <p>I tried to recreate the synonym as <code>SYSTEM</code> and <code>SYSDBA</code> with the same failure.</p>
  
  <p>Can I recreate those synonyms with another way?</p>