今天不知道怎麼,心血來潮,就把本機從域裡退了出去,然後準備把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命令