1、不能启动 DBConsole 服务的解决网络断掉,不能启动 DBConsole 服务的解决这个问题有不少刚刚接触的 Oracle 10g 的 XDJM 都遇到过,我在笔记本上也遇到过,本来 DBConsole 是可以用的,但是一旦笔记本是使用无线网卡连网的,所以有时候出去的时候没有接 上 wifi的话,也会出现同样的状况。错误状况: Window 平台 以前的 DBConsole 是可以启动的,但是拔掉网络启动 OracleDBConsoleXXX 服务,服务启动不了。 错误排查: 先设置 window 环境变量 ORACLE_SID=数据库 SID 打开 cmd 输入 emctl start
2、 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 目录 这个
3、信息非常的重要,也是服务起不来的根本原因 DBConsole 是一个 java 的 web application,在建立 dbconsole 的时候,我们会根据机器以及 Oracle 的信息创建 repos,这个 repos 就是存放 DBConsole 的配置信息的仓库,由于机器断网,会把机器的名字映射为 localhost,而建库的时候是默认用的是机器名,所以这时候两个目录不匹 配了,DBConsole 找不到配置仓库的目录也就出错了。 解决方案, 解决方案有两种,一种是比较正式的 通过 emca 重新建立 repos 命令如下 emca -config dbcontrol db -re
4、pos recreate 方法二是自己实验出来的,并不是一个正式的方法,但是比上一种方法简单,易于操作。 信息提示里找不到一个目录 D:/oracle/product/10.1.0/db_1/oc4j/j2ee /OC4J_DBConsole_localhost_java, 到这个信息提示的上一层目录里一看,可以看到有个类似的目录, 形如 OC4J_DBConsole_janes_java, 这里 janes 是我的机器名,把这个目录 copy 到当前目录下,改成信息提示里没有找到的目录名,比如 我这里就改成 D:/oracle/product/10.1.0/db_1/oc4j/j2ee /O
5、C4J_DBConsole_localhost_java 同时来到 D:/oracle/product/10.1.0/db_1 目录下,可以找到一个名字形如janes_ORCL 的目录, 注意 janes_ORCL 这里的 janes 是我的机器名,ORCL 是我这里 ORacle 的 SID,你可以根据你的具体情况,来找到类似的目录, 同样在当前 copy 到当前目录,并改名为 localhost_ORCL. 还有第三方法,不过没有试过 有出现这样问题的帮着试试 set ORACLE_HOSTNAME=localhost 然后通过 emctl start dbconsole 或者服务里的 ORacleDBConsoleXXXX 的服务就可以启动了。名令:lsnrctl。