title: ORA-00980 synonym translation no longer valid in PLSQL
body: <p>I've got a synonym on a remote Oracle database that I can access in SQL over a database link, eg,</p>
  
  <pre><code>insert into my_table select * from my_synonym@my_database_link;
  </code></pre>
  
  <p>If I put the above statement into a PLSQL block, it won't compile, giving the error message "ORA-00980: synonym translation is no longer valid". The standard explanation is the table that the synonym points to has been dropped, etc, but this is not the case because the statement works in SQL.</p>