重建oracle的em
重建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 ‘SMP_%‘;
select ‘drop public synonym ‘|| synonym_name || ‘;‘ from all_synonyms where synonym_name like ‘EMD_%‘;
好人做到底吧,因為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命令
重建oracle的em