转载:http://warehouse.itpub.net/post/777/469895
错误如下:
CREATE PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS FOR MGMT_BLACKOUT_STATE ORA-00955: 名称已由现有对象使用
不论使用dbca还是使用emca -deconfig dbcontrol db -repos drop在删除资料库时都有可能删除不干净,这样在再次创建资料库时都会出现错误(显示的log中有详细的记录),因此在创建资料库时最好使用下面命令手动删除一次:
手工删除em资料库的方法,不能漏掉,否则创建时会报错
drop user sysman cascade;
drop user mgmt_view cascade;
drop role mgmt_user;
drop public synonym mgmt_target_blackouts;
drop public synonym setemviewusercontext;
drop public synonym MGMT_AVAILABILITY;
drop public synonym MGMT_CURRENT_AVAILABILITY;
drop public synonym MGMT_SEVERITY_OBJ;
drop public synonym MGMT_SEVERITY_ARRAY;
MGMT_GUID_OBJ
进行删除操作
emca -deconfig dbcontrol db -repos drop
根据提示,先输入SID,再输入Y继续;
输入端口1521,输入SYS密码,输入DBSNMP密码,输入SYSMAN 密码,输入Y继续
--select 'drop public synonym '|| synonym_name || ';' from dba_synonyms where synonym_name like '%MGMT%' order by synonym_name desc
上面这个SQL语句是搜索同义词,找到同义词,然后进行drop操作.这些同义词都是以前创建的,所以再创建时,会警告错误。
我按照上面的SQL语句来做,结果还是提示有同义词没有删除。所以我就把所有的同义词都删除了,结果是sysman没有了权限。
什么都做不了了,只能是重装oracle11g数据库了。
最终的问题还是没有解决。
本文描述了在尝试删除Oracle EM同义词时遇到的问题及解决过程。当使用dbca或emca命令删除数据库时,可能会留下残留的同义词,导致重新创建数据库时出现错误。文章提供了一种手动删除同义词的方法,并讨论了该方法可能导致的权限问题。
746





