Oracle出现ORA-01775: 同义词的循环链问题

2014-11-24 18:23:13 · 作者: · 浏览: 4

1、 当用程序连接或者用plsql查询同义词时,如果出现ora-01775:同义词的循环链这样的问题。


一般是因为存在同义词,但同义词没有相应的对象。


2、 先查有没有循环的同义词。


select*fromdba_synonyms
wheretable_owner='TEST'


and synonym_name<>table_name;


没有记录。


3、 再查同义词没有对象的数据库对象


select*fromdba_synonyms
wheretable_owner='TEST'
and
synonym_namein
(selecta.synonym_namefromdba_synonyms awherea.table_owner='TEST'
minus
selectobject_namefromuser_objects)


4、 把查询出来的结果进行查询表


select*fromDRILL_PRESON


如果该同义词没有相应的对象,则会包ora-01775的错误


5、 把这个同义词删除


droppublicsynonymDRILL_PRESON