OracleDBconsoleorcl服务无法启动的原因及解决思路

被这个OracleDBconsole服务无法启动的问题折磨了两个星期了,今天很幸运,在网上无意间看到了一位大侠的思路,虽然错误的情况并不完全相同,但他的思路完全可以搬过来用。
环境:Windows XP, 装Oracle 11g,装完数据库软件、新建一个数据库(数据库的SID为orcl20120825),但是无法进入网页版的企业管理器(EM),提示是“403,服务器拒绝了您的访问请求”。因为数据库的ID是orcl20120825,因此对应的Windows服务名为OracleDbConsoleorcl20120825,原因不多说了,想必遇到过这个问题的朋友都知道,就是这个服务没有启动,所以进不了企业管理器。尝试启动这个服务,提示“Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2。”
至于具体的原因,网上有很多人讨论,大概是计算机名改变、IP地址更改等情况,就不分别讨论了。具体的出错原因,只有计算机自己才能回答,所以,还是先问cmd吧~
       那就在cmd中启动企业管理器试试吧:
       1.C:\Documents and Settings\Administrator>emctl start dbconsole
        这是启动控制台的命令,它当然报错:
        Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
虽然并不十分清楚,但可以肯定的是,不能启动的原因一定和ID、SID之类的变量有关,也许是数据库的名称,也许是计算机的名称,也许是某个文件的名称。继续~
       2.既然cmd说要给数据库设置一个ORACLE_UNQNAME,于是在网上搜了一下,大概是这个命令:
         C:\Documents and Settings\Administrator>set ORACLE_UNQNAME=orcl20120825
         敲了回车没反应,额,,,于是再敲个分号,,,
         C:\Documents and Settings\Administrator>;
         还是没反应,,,算了,就当是已经设置过了吧,那么再尝试着启动一下企业管理器:
         C:\Documents and Settings\Administrator>emctl start dbconsole
         继续报错,不过这次的内容具体一点了:
         OC4J Configuration issue. E:\app\Administrator\product\11.2.0\dbhome_1/oc4j/j2ee /OC4J_DBConsole_180.111.140.106_orcl20120825 not found.
         很显然,是因为Oracle找不到提示的这个文件或文件夹而报错。那么理所当然得,可以去提示中给出的目录看一看,如下图:

果然,在这个目录下并没有OC4J_DBConsole_180.111.140.106_orcl20120825这个文件夹或者文件。但是,注意到该目录下有一个和提示中的文件名非常相似的文件夹
OC4J_DBConsole_localhost_orcl20120825,只有中间的部分不同。到这一步,情况开始明朗了。
很显然,180.111.140.106看上去是个外网地址,似乎是出现在动态分配IP的情况下,可以验证一下,重新开一个cmd,>ipconfig,如下图:

果然,这是个动态分配的本机IP地址。而上文目录中的OC4J_DBConsole_localhost_orcl20120825文件夹,中间的localhost也代表了本机,到这一步,基本可以得出EM不能启动的原因了,大概是因为Oracle默认会用localhost去标识一些变量或文件,但是在后来的某个操作中,因为电脑已经处在连上外网的状态,因此有了一个动态的IP,于是Oracle改用这个动态IP去标识一些变量或者文件,所以就造成了一些有关联的文件或者系统设置出现了文件名前后不一致的问题。
故障原因找到了,接下来开始解决。这里就要借用那位大侠的思路了:
       1.根据以往在Windows下折腾的经验,可以猜测OC4J_DBConsole_localhost_orcl20120825文件夹和OC4J_DBConsole_180.111.140.106_orcl20120825文件夹中的内容是一样的,只是文件夹的名称不同而已。那既然提示说要找这个名字的文件夹,那是不是可以直接把OC4J_DBConsole_localhost_orcl20120825文件夹重命名,把它文件名中的localhost改成180.111.140.106呢?也许可以,但为了保险起见,还是先复制一份,再重命名。如下图:

于是,该目录下就有了名为OC4J_DBConsole_180.111.140.106_orcl20120825的文件夹。接下来,在cmd中继续执行上一次的命令,尝试启动EM

C:\Documents and Settings\Administrator>emctl start dbconsole
虽然还是报错,并且和上一个报错信息很相似:
EM Configuration issue. E:\app\Administrator\product\11.2.0\dbhome_1/180.111.140.106_orcl20120825 not found.
同样是提示在某路径下找不到某文件的提示,那么重复上一步的做法,到这次提示的目录中去看一下,如下图:

同样地,在这个目录下果然没有提示中的180.111.140.106_orcl20120825文件夹,但是又出现了一个文件名极其相似的文件夹:localhost_orcl20120825,很显然也是前文所说的IP地址改变造成的文件命名前后不一致的原因。复制上一步的思路,猜测180.111.140.106_orcl20120825文件夹中的内容和localhost_orcl20120825中的内容是一样的,于是复制一个localhost_orcl20120825文件夹并重命名为180.111.140.106_orcl20120825,如下图:

于是,该目录下就有了名为180.111.140.106_orcl20120825的文件夹。接下来,在cmd中继续执行上一次的命令,尝试启动EM:
C:\Documents and Settings\Administrator>emctl start dbconsole
虽然还是报错,并且和上一个报错信息很相似:
Unable to determine local host vide E:\app\Administrator\product\11.2.0\dbhome_1/180.111.140.106_orcl20120825/sysman/config/emd.properties : No such file or directory
这次的提示更具体了,是在指定的目录下找不到指定的文件。那么,重复上一步的做法,到提示中给出的目录下去看一看,如下图:

这次情况稍微有点小复杂,180.111.140.106_orcl20120825/sysman/目录下只有一个opmn文件夹,并没有提示中的config文件夹,也没有和“config”名称相似的文件夹,怎么办呢?
举一反三!既然上文猜测180.111.140.106_orcl20120825文件夹和localhost_orcl20120825文件夹中的内容一致,那么自然而然就可以想到回上一步的localhost_orcl20120825文件夹中去看一看:如下图:

在localhost_orcl20120825中的sysman目录下,可以看到其实里面的内容和180.111.140.106_orcl20120825下sysman目录中的内容并不相同,但两者都有一个opmn文件夹,并且localhost_orcl20120825\sysman目录下多了四个文件夹,并且其中一个名为config,而上一步报错提示的路径中就有config目录,并且这个config文件夹中就有一个和上一步报错提示中同名的emd.properties的文件,于是类似地重复之前的思路,把localhost_orcl20120825\sysman目录下的config、emd、log、recv复制到180.111.140.106_orcl20120825\sysman目录下(因为opmn文件夹还不知道有什么用处,所以先不动它)。这样,180.111.140.106_orcl20120825\sysman下的目录结构就和localhost_orcl20120825\sysman下的目录结构相同了,如下图:

接下来,在cmd中继续执行上一次的命令,尝试启动EM:
C:\Documents and Settings\Administrator>emctl start dbconsole
额,,,貌似没报错:
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation.  All rights reserved.
https://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ...OracleDBConsoleorcl20
120825 服务正在启动 ...............................................
OracleDBConsoleorcl20120825 服务已经启动成功。
启动了!
再去Windows服务中看一下:

这个服务果然启动了!
不放心,再用浏览器进EM试试:


↓↓↓

↓↓↓

至此,解决了一块长久以来的心病!

时间: 2024-11-09 21:35:08

OracleDBconsoleorcl服务无法启动的原因及解决思路的相关文章

installshield制作的安装包卸载时提示重启动的原因以及解决办法

原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如下几种:1. 卸载时,程序正处于运行状态2. 卸载时,程序文件夹处于打开状态3. 卸载时,有文件被别的进程调用,或者在进程中,常见情况如dll在进程中 一般来说解决办法是针对第三种情况的,解决办法是卸载时强制杀进程,比如在OnMaintUIBefore或者OnUninstall里写上强制杀进程的代码

网卡无法启动的原因及解决方法

安装好的的centos7系统,使用命令ip -a查看IP地址发现没有IP地址.我重启网卡试试,然后报错,具体报错如下:Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe&quo

Oracle监听服务无法启动或丢失的解决办法

当用可视化工具连接时,错误提示: 执行请求的操作时遇到错误: IO 错误: The Network Adapter could not establish the connection 1)使用了Cclear或鲁大师等注册表清理工具清理后导致无法启动 无法启动OracleOraDb10g_home1TNSListener服务 解决办法:①打开注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet/下的Services和HKEY_LOCAL_MACHINE/SYS

使用net start mysql的时候出现服务名无效的原因及解决办法

原因:mysql服务没有安装 解决办法:使用管理员权限,执行mysqld -install命令 然后以管理员身份net start mysql开启mysql服务 卸载mysql服务的方法 1.管理员权限  net stop mysql ,关闭mysql服务 2.管理员权限  mysqld -remove ,卸载mysql服务

tomcat8启动慢原因及解决办法

tomcat8在linux下安装使用一段时间后启动非常慢,6分钟左右. 原因是一个随机数生成参数导致的. 处理如下: 修改catalina.sh .配置JRE使用非阻塞的Entropy Source if [ -z "$JSSE_OPTS" ] ; then  JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048"fiJAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.security.egd

项目开发中遇到的问题,原因,解决思路

后台代码报错:看控制台日志,找到控制台中自己的写的类对应的错误代码的那一行:(有些信息是java底层的信息,看不大懂,不用看,看自己写的代码) 然后分析,具体是在类中对应的方法里面打个断点.用Eclipse的debug模式启动,调到断点的那一行,具体问题边跟踪代码便分析.比如空指针最常见的异常, 假如我们正在做增删改操作,假如做根据id删除的功能时报错,看你根据id查找的对象是否为空,然后推理是否id为空,是否id参数没有传递成功等等,一步一步 的找到问题的原因. 如果后台不报错,但是前台页面仍

MySQL慢查询的可能原因及解决思路

要有高性能的MySQL服务,不仅需要设计好的库表结构.好的索引,还需要有好的查询. 也就是说,一个慢查询的出现,可以从服务器.库表结构.索引.查询语句等方面着手. 对查询进行性能剖析有两种方式,一种是剖析服务器负载,另一种是剖析单条查询. 1.剖析服务器负载 1.1捕获慢查询 使用慢查询日志.慢查询日志是开销最低.精度最高的测量查询时间的工具,而且I/O开销可以忽略不计. 但如果长期开启慢查询日志,应部署好日志轮转(log rotation)工具.或者只在收集负载样本的期间开启. MySQL还有

直接双击启动tomcat中的startup.bat闪退原因及解决方法

免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录) SET TOMCAT_HOME=E:\tomcat-6.0.35

mysql-8.0.17解压版安装步骤及MySQL服务无法启动问题的解决办法

本人初学使用mysql数据库,由于喜欢使用解压版,于安装配置中遇到许多问题,部分未能在搜索引擎中找到答案,偶然找到解决办法,故于此留下一些随笔,方便自己也为网友提供一点点参考,如有错误的地方,请大家批评指正,共同进步! 1.mysql解压版下载 浏览mysql官网,下载解压版压缩包,根据需要的解压到相关目录. 2.环境变量与配置文件设置 2.1配置环境变量(没有对其必要性考证,参考其他博主的步骤) 鼠标右击计算机(我的电脑),点击属性,选择高级系统设置,最后点击环境变量,新建MYSQL_HOME