剔除同义词报错

删除同义词报错我本来有一些同义词指向某个用户下相应的表,这个用户我现在不用了,于是就先删除该用户,然后

删除同义词报错
我本来有一些同义词指向某个用户下相应的表,这个用户我现在不用了,于是就先删除该用户,然后再试图删除同义词,就报错了:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist

请问有没有什么办法删除这些同义词?或者重建它们,使其指向存在的用户下相应的表?
谢谢!

[解决办法]
create or replace synonym 不可以重建吗?
[解决办法]
是否可以这样,先重建,将原先指向删除用户的表或视图换成其他表,然后在drop掉该同义词?
[解决办法]
数据库版本是多少?

oracle 11g里面已经没有这个情况了.
[解决办法]
我用10g版本试了下,先drop user,再drop别的user定义在该user下的对象的synonym没问题。

你做个drop synonym时的sql trace.贴出来。看看错误发生在哪一步。
[解决办法]
到Console里删
[解决办法]
synonym创建的时候,不会去做对象有效的检查,应该drop的时候也不会去做吧。
[解决办法]

探讨
to vc555:我建的是public synonym。比如基于user1用户下tab1建的public synonym tab1,你可以先drop user1,然后再drop public synonym tab1试试看。