- 作者: 三十而立
- 时间:2009年8月19日 18:13:47
- 本文出自 “inthirties(三十而立) ”博客,转载请务必注明作者和保留出处http://blog.csdn.net/inthirties/archive/2009/08/19/4464583.aspx
网络断掉,不能启动DBConsole服务的解决这个问题有不少刚刚接触的Oracle 10g的XDJM都遇到过,我在笔记本上也遇到过,本来DBConsole是可以用的,但是一旦笔记本是使用无线网卡连网的,所以有时候出去的时候没有接上wifi的话,也会出现同样的状况。
错误状况:
Window平台
以前的DBConsole是可以启动的,但是拔掉网络启动OracleDBConsoleXXX服务,服务启动不了。
错误排查:
先设置window环境变量 ORACLE_SID=数据库SID
打开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
方法二是自己实验出来的,并不是一个正式的方法,但是比上一种方法简单,易于操作。
信息提示里找不到一个目录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 /OC4J_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的服务就可以启动了。
错误状况:
Window平台
以前的DBConsole是可以启动的,但是拔掉网络启动OracleDBConsoleXXX服务,服务启动不了。
错误排查:
先设置window环境变量 ORACLE_SID=数据库SID
打开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
方法二是自己实验出来的,并不是一个正式的方法,但是比上一种方法简单,易于操作。
信息提示里找不到一个目录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 /OC4J_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的服务就可以启动了。