ITPub博客

首页 > Linux操作系统 > Linux操作系统 > OEM (Oracle Enterprise Manager) 控制台无法启动 解决心得体会

OEM (Oracle Enterprise Manager) 控制台无法启动 解决心得体会

原创 Linux操作系统 作者:lnwxzyp 时间:2009-10-18 19:56:48 0 删除 编辑
        不久前重装了操作系统并重新安装了oracle,刚开始安装好之后
OEM(Oracle Enterprise Manager)可以正常打开在打开OEM的网页控制台,实际上很多人也都会遇到在刚安装好的时候可以打开,但是在之后(可能是重启了电脑或者是隔了几天)可能就会出现无法打开网页控制台的情况。 今天我也遇到了无法打开的情况,在经过一番摸索之后恍然大悟。
首先用命令方式打开控制台
C:\Documents and Settings\Administrator>set oracle_sid=demo

C:\Documents and Settings\Administrator>emctl start dbconsole   
OC4J Configuration issue. D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_localhost_demo not found.

C:\Documents and Settings\Administrator>emctl status
EM Configuration issue. D:\oracle\product\10.2.0\db_1/localhost_demo not found.



    


可以看到提示说OC4J_DBConsole _localhost_demo not found. 
进入相关目录查看,发现的是一个以机器名称+ORACLE_SID的文件夹,
D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_informat-815891_demo
而并没有OC4J_DBConsole _localhost_demo这个名称的文件夹,同时查看状态当中提示的文件路径,我这里只有informat-815891_demo,informat-815891是我的计算机名称,demo是我安装时设定的oracle的SID,并没有localhost_demo的文件夹,就是因为如此造成控制台无法打开,可为什么OEM会选择以localhost来作为他默认的路径?而刚开始安装好的时候,没有这种情况呢? 

这个问题先暂时放一放,我先给出我的解决办法:首先添加了一个虚拟网卡

控制面板→添加硬件→选择(是,我已经连接了此硬件)→添加新的硬件设备→安装我手动从列表选择的硬件(高级)→网络适配器→Microsoft→Microsoft Loopback Adapter     
安装好了虚拟网卡,手动指定IP地址: 10.10.10.1  子网掩码 255.255.255.0  默认网关 10.10.10.0
然后开始→运行 输入 system32 这样快捷的打开system32文件夹,找到drivers\etc\hosts文件,以文本文件打开后,进行修改
10.10.10.1       localhost

#127.0.0.1       localhost

将127屏蔽掉或者删除掉也可以, 并且将localhost改成虚拟网卡的IP地址,保存,再次以命令行形式打开OEM控制台
C:\Documents and Settings\Administrator>emctl start dbconsole
OC4J Configuration issue.
D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_10.10.10.1_demo not found.
这次就提示一个新的文件夹名称不存在了,这个时候我再次修改了hosts文件
10.10.10.1       informat-815891
#127.0.0.1       localhost
用机器名称替换掉localhost,然后再次打开OEM控制台
C:\Documents and Settings\Administrator>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://informat-815891:1158/em/console/aboutApplicationStarting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoledemo
服务正在启动 ...................
OracleDBConsoledemo 服务已经启动成功。
这个时候想必大家都清楚了oracle OEM是通过这个hosts文件来确定文件的名称,那么有的人安装好的oracle里面的文件夹是localhost+SID,有的是machine+SID,这又是什么原因呢? 在这里要告诉大家一个前提OEM控制台无法启动是由于hosts错误的指引了Oracle OEM,但是hosts为什么会错误的指引oracle OEM呢? 就是因为你在安装的时候的环境和当前的环境发生了变化造成的,假如你安装的时候没有网络环境,完成之后OEM的文件夹名称就是localhost+SID,而如果有网络环境的话则会是machine+SID的文件名称,而之后网络环境发生了变化,则出现了无法启动,当然也就无法打开OEM控制台的页面了,我这里使用了虚拟的网卡 并且在hosts里面指定了虚拟的地址,这样一来不管我的网络是否连接都不会对OEM的启动和页面查看造成影响。

the end.
后记:windows 7下要想创建一个Microsoft Loopback Adapter用xp下的方法已经不行了,可以改用在 开始=>运行中输入“hdwwiz.exe”来运行添加向导。
附 OEM 的命令行语句:

创建一个EM资料库
emca -repos create

重建一个EM资料库
emca -repos recreate

删除一个EM资料库
emca -repos drop

配置数据库的 Database Control
emca -config dbcontrol db

删除数据库的 Database Control配置
emca -deconfig dbcontrol db

重新配置db control的端口,默认端口在1158
emca -reconfig ports
emca -reconfig ports -dbcontrol_http_port 1160
emca -reconfig ports -agent_port 3940
注:查看端口号可查如下路径。

先设置ORACLE_SID环境变量后,启动EM console服务
emctl start dbconsole

先设置ORACLE_SID环境变量后,停止EM console服务
emctl stop dbconsole

先设置ORACLE_SID环境变量后,查看EM console服务的状态
emctl status dbconsole

配置dbconsole的步骤
emca -repos create
emca -config dbcontrol db
emctl start dbconsole

重新配置dbconsole的步骤
emca -repos drop
emca -repos create
emca -config dbcontrol db
emctl start dbconsole

 

例如emca -config dbcontrol db 可以解决oem页面上出现的如下错误
OEM - java.lang.Exception: Exception in sending Request :: null
以及以下错误
{at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:1402)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1196)
at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:637)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab._getAllData(DbHomeTab.java:324)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab.getData(DbHomeTab.java:139)
at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:402)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:596)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:320)
at java.lang.Thread.run(Thread.java:534)}:
C:\Windows\system32>emca -config dbcontrol db
EMCA 开始于 2011-8-9 20:40:00
EM Configuration Assistant, 10.2.0.5.0 正式版
版权所有 (c) 2003, 2009, Oracle。保留所有权利。
输入以下信息:
数据库 SID: demo
已为数据库 demo 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 demo
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [是(Y)/否(N)]: y
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置数据库
ORACLE_HOME ................ D:\oracle\product\10.2.0\db_1
Local hostname ................ aa123-PC
监听程序端口号 ................ 1521
数据库 SID ................ demo
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2011-8-9 20:40:58 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 D:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\demo\emc
a_2011-08-09_08-39-59-下午.log。
2011-8-9 20:41:09 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2011-8-9 20:41:53 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2011-8-9 20:42:11 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保护 Database Control。
2011-8-9 20:42:11 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2011-8-9 20:42:51 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2011-8-9 20:42:51 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 https://aa123-PC:1158/em <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2011-8-9 20:42:51
 
 
 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12216142/viewspace-616809/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 无题
请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    672704