重建oracle的em

今天不知道怎么,心血来潮,就把本机从域里退了出去,然后准备把oracle11g的control给处理处理

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

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

上网找了些资料,很多是关于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命令

看了要回复,要不就没心思写了~
原文地址:https://www.cnblogs.com/skey_chen/p/2294751.html