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


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

相关内容