oracle 01775,Oracle出现ORA-01775: 同义词的问题

当遇到Oracle数据库报错ORA-01775,即同义词的循环链问题时,通常是因为存在无对应对象的同义词。解决方法包括检查是否存在循环的同义词,查找没有对象的同义词并删除。通过查询`dba_synonyms`找出问题同义词,并执行`DROP PUBLIC SYNONYM`命令来删除无对象的同义词,从而消除错误。
摘要由CSDN通过智能技术生成

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

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(selecta.synonym_namefromdba_synonyms awherea.table_owner='TEST'

minus

selectobject_namefromuser_objects)

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

select*from MED_MACROVALUE

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

5、 把这个同义词删除

drop public synonym MED_MACROVALUE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>