首页 > 代码库 > OracleDBConsole服务无法启动原因

OracleDBConsole服务无法启动原因

同一台电脑,不同的无线连接
 
在办公室:IP:***.***.0.100
在市局   :IP:***.***.0.100
在家      :IP:***.***.1.101
 
在  D:/oracle/product/10.2.0/db_1/oc4j/j2ee 下创建
在家的时候,创建的OC4J_DBConsole_WWW-4A3E4793E05_orcl,能够正常连接
在办公室  :         OC4J_DBConsole_***.***.0.100_jtza
在市局:              OC4J_DBConsole_***.***.0.104_z124
     如果关闭无线, OC4J_DBConsole_localhost_z123
在家的时候,创建的是计算机名的,服务能够正常启动;在创建IP地址名字文件夹的时候,计算机名的也无法启动,而且IP地址不同的,同样无法启动。
我认为的解决方法:只要机器名没有改变,就是用机器名来命名,来启动,这样不同的IP就没有影响,而且要设定是以计算机名来启动、命名,而不能以IP名命名、启动。这个设定在什么地方呢?
 
 
无法启动OEM控制台的dbconsole服务,对用Web管理Oracle数据库的同学来说是一件多么烦人的事件,我相信有不少遇上过这样的麻烦问题。 
 
无法启动OEM控制台的特征如下
1.开机或启动OracleDBConsole<SID>时报错,如下图
2.在管理工具”-->事件查看器”中,如下图 www.2cto.com
 
 
http://www.2cto.com/database/201212/173807.html
 
引起无法启动OEM控制台的dbconsole服务原因 
 
我目前统计到有二个如下:
1.修改了计算名称,或原来计算没有加入到域,而现在加入域。
2.修改了网络连接”中的连接,如原来是用本地连接”,但是此连接停用或重命名,也会导致无法启动dbconsole服务。
 
解决方案:
若是第1种原因引起的,则如下操作:
在Oracle数据库的安装目录下如:D:/oracle/product/10.2.0/db_1/oc4j/j2ee下,
创建一个文件夹为OC4J_DBConsole_<新计算名称(或新计算机名称.域名)>_<SID>,
              将原来OC4J_DBConsole_<原计算名称(或原计算机名称.域名)>_<SID>文件夹所有文件或文件夹复制到刚才创建的文件夹中。
 
若是第2种原因引起的,则启用或重命名回原来的连接名称。 
host 加入
192.168.1.52Squall-WIN7.local
192.168.0.100Squall-WIN7.local
 
 
 

因为计算机名改变造成ORACLE控制台服务无法启动的解决

 http://blog.sina.com.cn/s/blog_4b9439530100fgx2.html
 

1,首先修改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。

 

 

 

OracleDBConsole服务无法启动原因