日期:2014-05-17  浏览次数:20815 次

删除不了同义词,求大神
数据库实例名:PWMIS_DB 两个用户名:jazz和pwmis
jazz和pwmis用户名下有个相同的DBlink:PW2DPS

jazz用户下建了个同义词:
create or replace synonym DPS_ISOLATION_TYPE
  for DPS_ISOLATION_TYPE@PW2DPS;

pwmis用户下建了个同义词:
create or replace synonym DPS_ISOLATION_TYPE
  for jazz.DPS_ISOLATION_TYPE@PW2DPS;

现在没有DPS_ISOLATION_TYPE这张实表,在正常的情况下应该是jazz有这张表,但是我在pwmis下建同义词的时候忘记jazz那里已经有个相同的同义词,所以在pwmis下面的同义词References目录下是引用了jazz的同义词。现在两个同义词删也删不掉,修改液修改不了,一删除整个PL/SQL就没有响应了。不知道有没有人遇到过这样的情况。这个数据库不能重启,没有DBA账户。我想删了jazz下的同义词建一张实表。求大神。。。。。。。。。。。。。。。
------解决方案--------------------
drop synonym DPS_ISOLATION_TYPE force;

------解决方案--------------------
用jazz和pwmis分别登陆,然后分别执行 drop synonym jazz.DPS_ISOLATION_TYPE ;
 drop synonym pwmis.DPS_ISOLATION_TYPE ;
------解决方案--------------------
或者用 drop public synonym pwmis.DPS_ISOLATION_TYPE 试一试;
------解决方案--------------------
有可能有正在运行的过程或其它正在引用这同义词,造成删除不了,让dba查一下
------解决方案--------------------
在两个用户下,用

select * from user_synonyms

列出同义词,看看之间的引用关系。