被这个OracleDBconsole服务无法启动的问题折磨了两个星期了,今天很幸运,在网上无意间看到了一位大侠的思路,虽然错误的情况并不完全相同,但他的思路完全可以搬过来用。 环境:Windows 7, 装Oracle 11g,装完数据库软件、新建一个数据库(数据库的SID为orcl),但是无法进入网页版的企业管理器(EM),提示是“403,服务器拒绝了您的访问请求”。因为数据库的ID是orcl,因此对应的Windows服务名为OracleDbConsoleorcl,原因不多说了,想必遇到过这个问题的朋友都知道,就是这个服务没有启动,所以进不了企业管理器。尝试启动这个服务,提示“Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 1053。” 至于具体的原因,网上有很多人讨论,大概是计算机名改变、IP地址更改等情况,就不分别讨论了。具体的出错原因,只有计算机自己才能回答,所以,还是先问cmd吧~ 那就在cmd中启动企业管理器试试吧:
这是启动控制台的命令,它当然报错:
虽然并不十分清楚,但可以肯定的是,不能启动的原因一定和ID、SID之类的变量有关,应该是数据库的名称,因此给它设置一个ORACLE_UNQNAME。继续~ 2.既然cmd说要给数据库设置一个ORACLE_UNQNAME,于是在网上搜了一下,大概是这个命令:
敲了回车没反应,额,,,于是再敲个分号----
还是没反应,,,算了,就当是已经设置过了吧,那么再尝试着启动一下企业管理器:
继续报错,不过这次的内容具体一点了:
很显然,是因为Oracle找不到提示的这个文件或文件夹而报错。那么理所当然得,可以去提示中给出的目录看一看,如下图:
果然,在这个目录下并没有OC4J_DBConsole_180.111.140.106_orcl20120825这个文件夹或者文件。但是,注意到该目录下有一个和提示中的文件名非常相似的文件夹 OC4J_DBConsole_localhost_orcl20120825,只有中间的部分不同。到这一步,情况开始明朗了。
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:
虽然还是报错,并且和上一个报错信息很相似
同样是提示在某路径下找不到某文件的提示,那么重复上一步的做法,到这次提示的目录中去看一下,如下图:
同样地,在这个目录下果然没有提示中的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:
额,,,貌似没报错:
启动了! 再去Windows服务中看一下:
哇嘎嘎嘎!!!我的心病终于解决了0 0
不行还是不放心,去EM看看
至此,了却我心中一块大病!!!