1、先查有没有循环的同义词:
select * from dba_synonyms where
table_owner='test' and synonym_name
<>table_name;没有记录
2、再查同义词没有对象的数据库对象:
select * from dba_synonyms where
table_owner='test'
and sysnonym_name in(select a.synonym_name from dba_synonyms a
where a.table_owner='test'
minus
select object_name from user_objects
)
3、把查询出来的结果进行查询表
select * from DRILL_PRESON
如果该同义词没有对应的对象,就会报ora_01775的错误
4、删除这个同义词:
drop public synonym DRILL_PRESON
|
1、先查有没有循环的同义词: select * from dba_synonyms where table_owner='test' and synonym_name 2、再查同义词没有对象的数据库对象: select *
最近在工作中遇到了一个问题,错误是
Ora
cle dbca时报错:
ORA
-12547: TNS:lost contact,通过查找相关的资料终于找到了解决的方法,下面分享给大家,话不多说了,来一起看看详细的介绍吧。
OS:RHEL6.5 x86-64bit
DB:11.2.0.4 for Linux 86-64bit
DBCA报错,首先看DBCA的日志,日志中也是报
ORA
-12547: TNS:lost contact
于是再sqlplus / as sysdba敲回车,也是报
ORA
-12547: TNS:lost contact,
基于之前的工程经验,先
Ora
cle中
同义词
是任何表、视图、物化视图、序列、存储过程、函数、包、类型、JAVA类对象、用户定义类型,或是其他的
同义词
的别名。由于其只是一个别名,所以除了在数据字典中的定义不占任何空间。
同义词
常用于安全和方便。例如,它们可以做:
1.伪装对象名称和其所有者。
2.为分布式
数据库
远程对象提供位置透明性
3.简化
数据库
用户访问对象SQL语句
4.当行使精细化访问控制时提供类似指定视...
在工作中,有时会遇到
ORA
-
01775
: looping chain of synonyms的错误,你发现
同义词
中,没有其他叫这个名字的
同义词
,但实际是有的,怎么找出这个存在的
循环
同义词
呢:
SQL> CREATE OR REPLACE PACKAGE BODY sys.dbms_logmnr_internal wrapped
766 /
Warning: Package Body created with compilation errors.
使用以下语句,可以查找到
同义词
:
昨天在qq群里看到有人在问
同义词
的
循环
链
的问题,一时感兴趣,就分析了下。
顾名思义,就是
同义词
A指向
同义词
B,而
同义词
B又指向
同义词
A,导致死
循环
。
(1)下面先看一下如何导致
同义词
的
循环
链
。
以scott用户登录测试库,依次执行下面的代码:
create
table
t1 (id number,name varchar2(32));
create
table
t2 (id number
SQL> select* from dba_synonyms where
table
_owner='t1';
OWNER SYNONYM_NAME
TABLE
_OWNER
TABLE
_NAME DB_LINK
-------
Ora
cle出现
ORA
-
01775
:
同义词
的
循环
链
问题
1、 当用程序连接或者用plsql查询
同义词
时,如果出现
ora
-
01775
:
同义词
的
循环
链
这样的问题。
一般是因为存在
同义词
,但
同义词
没有相应的对象。
2、 先查有...