ORA-00980: synonym translation is no longer valid
481489Jun 8 2011 — edited Jun 9 2011This is driving me mad, so I hope someone can help.
Using Oracle 9i.
I have a database which previously had a synonym pointing to a remote table via a DB link. This remote table has now needed to be local, so I have done the following so that all packages and procedures which used the synonym will now point to the local table instead of the remote one.
Logged on as the local user "PE"
Created a local table - "table_local".
Dropped the synonym - "drop synonym s"
Created the new synonym with the same name as the old one, but pointing to the local table - "CREATE SYNONYM "PE"."S" FOR "PE"."table_local";
I can select from the local table fine, but when I try and select from the synonym I receive: ORA-00980: synonym translation is no longer valid
Even though the synonym is created by the PE user, I tried to add select permissions for the synonym to the role used by PE, but this resulted in the same error. I have also added select permissions on the table too to the user, despite it being the owner, to see if that was the problem.
I have tried dropping and recreating the tables and synonyms again and again, but still cannot get it to work. Selecting the data from the all_synonyms table shows there to be only one synonym with this name and pointing to the correct location.
I am at a loss as to what it could be?!
Any help would be create.
Thanks.