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

create public synonym employee for hr.employee;

select * from employee;


ORA-01775: looping chain of synonyms
01775. 00000 -  "looping chain of synonyms"
*Cause:   
*Action:
Error at Line: 30 Column: 15


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

HR里的那张表叫EMPLOYEES


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

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

 

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

select * from dba_synonyms
where table_owner=
'TEST'

and synonym_name<>table_name;

 

没有记录。

 

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

select * from dba_synonyms
where table_owner=
'TEST'
and
synonym_name in
(select a.synonym_name from dba_synonyms a where a.table_owner=
'TEST'
minus
select object_name from user_objects)

 

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

select * from DRILL_PRESON

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

 

5、  把这个同义词删除

drop public synonym DRILL_PRESON




请使用浏览器的分享功能分享到微信等