改变自己
我可以改变世界 改变自己

此文章引用http://hi.baidu.com/firyan 。作者-----“单车恋习曲” 严禁未经“单车恋习曲”允许非法盗用或用于商业活动。

打开Oracle 的EM,没想到网页打不开,在windows 的服务中的DBCONSOLE_SERVICE_NAME的服务启动不了,主是由于Oracle的某个配置修改的原因.
1.找到oracle数据库中bin目录,手动执行emctl.bat文件,然后发现会报找不到oracle实例的错误.
2.点右键编辑该文件,我们发现后面有一行"if not defined DBCONSOLE_SERVICE_NAME (set DBCONSOLE_SERVICE_NAME=OracleDBConsole%ORACLE_SID%)"引用到了ORACLE_SID,然而在开始的时候没有定义ORACLE_SID.在前面加上一句if defined REMOTE_EMDROOT (set ORACLE_SID=orcl),保存后再启动服务.一切OK.

 

启动电脑,到登陆界面,电脑报有个服务启动失败,电脑没有新装软件,周六还没有问题,怎么突然报这个错误?于是到事件查看器中看看什么问题,显示是OracleDBConsoleorcl启动失败,到服务里一看,确实没有启动。手动启动一下,报错误码2
  我装的是10g,于是到ORACLEproduct10.2.0db_1test_orclsysmanlog目录看一下log里写了什么,打开OracleDBConsoleorclsrvc.log.
  log最后记录的是:
  ————– [OracleDBConsoleorcl] ————
  EMDROOT=c:oracleproduct10.2.0db_1
  ORACLE_HOME=c:oracleproduct10.2.0db_1
  EMDSTATE=c:oracleproduct10.2.0db_1wangzh_orcl
  CONSOLE_CFG=dbconsole
  TRACE_LEVEL=16
  TIMEOUT=15
  12/10/07 10:56:03 Start pending…
  12/10/07 10:56:03 Verifying dbconsole is not started already. Command line "c:oracleproduct10.2.0db_1binemctl.bat" istatus dbconsole
  12/10/07 10:56:04 dbconsole launch commandline is "c:oracleproduct10.2.0db_1binemctl.bat" istart dbconsole
  12/10/07 10:56:04 Tracking process launch…
  12/10/07 10:56:34 dbconsole exited with retCode 2.
  12/10/07 10:56:34 Check c:oracleproduct10.2.0db_1test_orclsysmanlogemdbconsole.nohup for details
  日志让看emdbconsole.nohup文件,目录里没有这个文件呀。
  手动执行一下emctl.bat,于是启动控制台,执行emctl.bat istart dbconsole,报错,ORACLE_SID没有定义,打开emctl.bat看看,这里是定义环境变量的地方,其中已经设置了这些:
  if not defined REMOTE_EMDROOT (set ORACLE_HOME=Ec:oracleproduct10.2.0db_1)
  if not defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)
  if defined REMOTE_EMDROOT (set ORACLE_HOME=%REMOTE_EMDROOT%)
  if defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)
  if defined REMOTE_EMDROOT (set LOCAL_EMDROOT=c:oracleproduct10.2.0db_1)
  ……
  后边还有一条设置:
  if not defined DBCONSOLE_SERVICE_NAME (set DBCONSOLE_SERVICE_NAME=OracleDBConsole%ORACLE_SID%),用到了ORACLE_SID,但没有看到前面设置,只能手动设置ORACLE_SID试试,于是加了一条设置:
  if defined REMOTE_EMDROOT (set ORACLE_SID=orcl) orcl是我的数据库实例名
  到服务中启动OracleDBConsoleorcl,ok,没有报错;
  重新启动计算机,也没有报错,OracleDBConsoleorcl服务也启动了。

 

今天机器死机了,然后OracleDBConsoleORCL服务就起不来了,在一阵瞎搞后,还终于被我找到了解决办法,方法如下:

运行Database Configuration Assistant程序,选择“配置数据库选项”重新配置Database Control 配置工具,配置完后端口号会变(我原来是1158,后来被改为5500),可以在.\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\文件夹下,最后生成的一个日志文件下找到新的Database Control 的URL;运行即可。

********************************************************************************************************

(原来经常改IP会导致OracleDBConsoleORCL无法启动,)一下是正规的解决方案:

修改你的主机参数文件

修改一下:
C:\WINDOWS\system32\drivers\etc下的host文件.
如果没有的话就自己加一个IP和你的计算机名对应,如果已有了就把你的IP地址和你的计算机名对应起来.
如:
# copyright (c) 1993-1999 microsoft corp.
#
# this is a sample hosts file used by microsoft tcp/ip for windows.
#
# this file contains the mappings of ip addresses to host names. each
# entry should be kept on an individual line. the ip address should
# be placed in the first column followed by the corresponding host name.
# the ip address and the host name should be separated by at least one
# space.
#
# additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# for example:
#
#    102.54.94.97     rhino.acme.com       # source server
#    38.25.63.10     x.acme.com              # x client host
127.0.0.1    localhost
192.168.1.104 wang-decjedi4h9


手工从cmd命令行启动:C:\Documents and Settings\wangnc>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.

 

设置Oracle_sid环境变量:

C:\Documents and Settings\wangnc>set oracle_sid=orcl

C:\Documents and Settings\wangnc>emctl start dbconsole
OC4J Configuration issue. C:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_WWW-D79AC60CC61_orcl_orcl not found.

还是不行,到目录 C:\oracle\product\10.2.0\db_1\oc4j\j2ee 下发现只有OC4J_DBConsole_localhost_orcl目录,并没有OC4J_DBConsole_sz-wangncD.cn.linecom.com_orcl这样的目录

复制目录改成系统提示的文件夹名,再运行emctl start dbconsole
又会报一个类似的错误提示,另一个目录,同样处理。重启后服务终于可以正常启动了。

访问 http://127.0.0.1:1158/em/   ok!

OracleDBConsoleorcl 服务无法启动


C:>set oracle_sid=orcl

C:>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://JX02:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl
服务正在启动 .
OracleDBConsoleorcl 服务无法启动。

系统出错。

系统发生 3 错误。

系统找不到指定的路径。
////以上是启动时的错误 ,我的数据库是oracle10.2.0.1.0 的版本

解决方法:

在命令行输入
$ emca –config dbcontrol db
  输入以下信息:
  SID:XXXX
  Listener port number: 1521
  Sys 口令:******
  ……
  好了,再次emctl start dbconsole EM就可以正常运行了!

 

posted on 2009-05-06 23:50  dashan  阅读(1510)  评论(0编辑  收藏  举报