数据库实例名:PWMIS_DB 两个用户名:jazz和pwmis
jazz和pwmis用户名下有个相同的DBlink:PW2DPSjazz用户下建了个同义词:
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下的同义词建一张实表。求大神

解决方案 »

  1.   

    drop synonym DPS_ISOLATION_TYPE force;
      

  2.   

    用jazz和pwmis分别登陆,然后分别执行 drop synonym jazz.DPS_ISOLATION_TYPE ;
     drop synonym pwmis.DPS_ISOLATION_TYPE ;
      

  3.   

    或者用 drop public synonym pwmis.DPS_ISOLATION_TYPE 试一试;
      

  4.   

    有可能有正在运行的过程或其它正在引用这同义词,造成删除不了,让dba查一下
      

  5.   

    在两个用户下,用select * from user_synonyms列出同义词,看看之间的引用关系。
      

  6.   

    您好,我使用了您说的方法,但是SQL执行的时候一直是执行状态。情况可能也是和直接右键drop一样吧
      

  7.   

    你好,现在的问题就是jazz用户下的同义词被pwmis用户下的同义词引用了。两个都删不掉了