重建Oracle的EM

2014-11-24 18:44:34 · 作者: · 浏览: 0

一开始也没怎么用心,上网随便找了点资料,就照着干了,然后什么都没干成,还把东西搞坏了。


没办法,只得好好下点功夫了。


上网找了些资料,很多是关于Oracle 10g的em重建,经过多次操作


也还是没解决什么,反而把服务里的control给搞没了。


看来,网上也靠不住了,得靠自己了。


好了,下面是我自己的解决方法:


1、不管什么情况,在doc命令提示符下执行(如果服务里的control还在,停了它,不过估计根本启不来)


emca -repos drop


好吧,虽然说网上靠不住,不过这也是在网上学来的。


2、进sql命令提示符


等等,怎么进sql命令提示符?额,也顺便写一下吧,以前数据库跑不起来时,上网找资料重建spfile也说在命令提示符下干嘛干嘛,可怜我数据库都进不了,都不知哪输sql去,那个郁闷……


在cmd下,输入


sqlplus /nolog


嘿嘿,进来了吧,再输入


conn / as sysdba


呼,大功告成(汗,就输了几个字母)



3、在sql命令提示符下分别输入以下四条sql语句,查出所有以MGMT_、SMP_、EMD_、ECM_开始的同义词,并将其保存下来


在sql命令提示符下执行
select 'drop public synonym '|| synonym_name || ';' from all_synonyms where synonym_name like 'MGMT_%';
select 'drop public synonym '|| synonym_name || ';' from all_synonyms where synonym_name like 'SMP_%';
select 'drop public synonym '|| synonym_name || ';' from all_synonyms where synonym_name like 'EMD_%';
select 'drop public synonym '|| synonym_name || ';' from all_synonyms where synonym_name like 'ECM_%';


好人做到底吧,因为sql出来太多,cmd窗口放不下?点左上角的图标,选默认值,可以出来修改的配置(主要修改缓冲区的高),不过这里需要重新打开cmd窗口。


现在才说,哈哈,故意的,重新打开cmd窗口,再输入一次命令吧,多写几次下次才记得。


你可能不知道这几条命令是花了多少精力和时间才整理出来的(一个上午啊)。



4、删除有关的数据和配置(N条drop命令)


sql命令提示符下执行
drop user sysman cascade;

drop role MGMT_USER;
drop user MGMT_VIEW cascade;
drop user MGMT_AVAILABILITY cascade;
……N条drop public synonym命令,上一步查出来的所有sql,打开一个记事本,把全部sql复制上去,直接粘贴到窗口里就可以了。



5、最后一步了,听天由命吧,估计,也许,嗯,应该是可以的。(不行的话,看看日志,再处理一下)


这里有个前提,就是监听器配置必须配置好能访问你的数据库(如在plsql中能访问数据库),在命令里也会有相应提示,11g下还会提示你输入监听程序,但可以直接回车不输入。
在doc命令提示符下
emca -config dbcontrol db -repos create



emca -repos create
emca -config dbcontrol db


上帝保佑你,成功吧。


最好再好人一次,把里面的sql打个包上来吧。


重建oracle11g的em命令


具体下载目录在 /2012年资料/1月/4日/重建Oracle的EM/