

因為計算機名改變造成ORACLE控制台服務無法啟動的解決
http://blog.sina.com.cn/s/blog_4b9439530100fgx2.html1,首先修改oracle\product\10.2.0\db_1\oc4j\j2ee\oc4j_dbconsole_(計算機名+域名)_SID名中的計算機名和域名為修改后的。
2,把oracle\product\10.2.0\db_1\network\admin\listener.ora文件中的HOST改為localhost或者新的計算機名。做了此項操作后,也許PLSQL會登陸不上去,那么從NET MANAGER重新配置一下服務就行了。
3,把oracle\product\10.2.0\db_1\(計算機名+域名)_SID名,把這個文件重命名為新的計算機名和SID名。
4,如果以上操作后,還是無法啟動控制台。那么也可以通過重建DBCONSOLE的方法,在運行CMD后輸入命令:emctl start dbconsole 然后將會有錯誤信息提示,如果沒有設置ORACLE_SID 則提示
Environment variable ORACLE_SID not defined. Please define it.
如果已經設置了ORACLE_SID 則錯誤提示為
oc4j configration issue.D:\oracle\product\10.1.0\db_1\oc4j\j2ee\OC4J_DBConsole_localhost_java not found.
其中D:\oracle\product\10.1.0\db_1為你自己機器中ORacle10g的home目錄
這個信息非常的重要,也是服務起不來的根本原因
DBConsole是一個java的web application,在建立dbconsole的時候,我們會根據機器以及Oracle的信息創建repos,這個repos就是存放DBConsole的配置信息的倉庫,由於機器斷網,會把機器的名字映射為localhost,而建庫的時候是默認用的是機器名,所以這時候兩個目錄不匹配了,DBConsole找不到配置倉庫的目錄也就出錯了。
解決方案,
通過emca重新建立repos
命令如下
emca -config dbcontrol db -repos recreate
如果還不成功,那么重啟一下電腦,然后再重復命令執行。
5,此時你也許已經啟動了DBCONSOLE服務,那么登陸控制台試試,如果還是不行,就把端口1158改為5500。
另外,檢查已經打開的端口的方法:執行c:\>netstat -an。