赞
踩
本人实用主义,废话不多说直接上代码
-------执行查找所有失效的同义词,生成删除脚本如下: select 'drop ' || decode(s.owner, 'PUBLIC', 'public synonym ', 'synonym ' || s.owner || '.') || s.synonym_name || ';' as "Dropping invalid synonyms:" from dba_synonyms s where table_owner not in ('SYSTEM', 'SYS') and db_link is null and not exists (select null from dba_objects o where s.table_owner = o.owner and s.table_name = o.object_name);
执行以上语句查找出来所有失效的同义词以及对应的删除语句
执行查找出来的删除语句
对同义词再进行一次创建基本上就没有问题了
(1).创建同义词语句:
create public synonym table_name for user.table_name;
(2).删除同义词:
drop public synonym table_name;
(3).查看所有同义词:
select * from dba_synonyms
1.删除了数据库对象,但是忘记删除同名;
2.删除一个用户,但是忘记删除与此用户中相关的同名;
3.创建同名时,同名对应的数据库对象已经被删除掉了;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。