Oracle11g R2学习系列 之十 解决EM不能用
不知道是什么原因https://localhost:1158/em,今天突然就不能用了。做了好多搜索也没有解决。现象是在services.msc中,不能重启OracleDBConsole服务,提示:
这个其实是windows的一个很普通的提示,深层次的帮助是很小的。因为是新手,也不明白原理,所以也只好继续在网上找原因,看到有人建议说用emca -repos drop重置一下,兴冲冲的执行了一下,结果显示如下图:
显示是正确完整的,但悲剧的是还是没有解决,最后我收到这篇文章 ,受到启发,使用DBCA先删除了orcl数据库。然后新建了一个叫XSCJ.domain的实例,SID为XSCJ.
然后我使用admin运行了cmd.依次执行:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>emca -repos recreate EMCA 开始于 2013-7-23 22:21:13 EM Configuration Assistant, 11.2.0.0.2 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: XSCJ 监听程序端口号: 1521 SYS 用户的口令: SYSMAN 用户的口令: 是否继续? [是(Y)/否(N)]: y 2013-7-23 22:21:39 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 C:\oracle11gr2\cfgtoollogs\emca\XSCJ\emca_2013_07_23_22 _21_13.log。 2013-7-23 22:21:39 oracle.sysman.emcp.EMReposConfig invoke 信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)... 2013-7-23 22:22:58 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功删除资料档案库 2013-7-23 22:22:58 oracle.sysman.emcp.EMReposConfig createRepository 信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)... 2013-7-23 22:26:08 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功创建资料档案库 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2013-7-23 22:26:08
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>emca -config dbcontrol db EMCA 开始于 2013-7-23 22:30:38 EM Configuration Assistant, 11.2.0.0.2 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: XSCJ 监听程序端口号: 1521 监听程序 ORACLE_HOME [ C:\oracle11gr2\product\11.2.0\dbhome_1 ]: SYS 用户的口令: DBSNMP 用户的口令: SYSMAN 用户的口令: 通知的电子邮件地址 (可选): 通知的发件 (SMTP) 服务器 (可选): ----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ C:\oracle11gr2\product\11.2.0\dbhome_1 本地主机名 ................ localhost 监听程序 ORACLE_HOME ................ C:\oracle11gr2\product\11.2.0\dbhome_1 监听程序端口号 ................ 1521 数据库 SID ................ XSCJ 通知的电子邮件地址 ............... 通知的发件 (SMTP) 服务器 ............... ----------------------------------------------------------------- 是否继续? [是(Y)/否(N)]: y 2013-7-23 22:31:17 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 C:\oracle11gr2\cfgtoollogs\emca\XSCJ\emca_2013_07_23_22 _30_38.log。 2013-7-23 22:31:20 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository 信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)... 2013-7-23 22:31:46 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功上载配置数据 2013-7-23 22:31:49 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib 信息: 软件库已配置成功。 2013-7-23 22:31:49 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary 信息: 正在部署预配档案... 2013-7-23 22:32:01 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary 信息: 预配档案部署成功。 2013-7-23 22:32:01 oracle.sysman.emcp.util.DBControlUtil secureDBConsole 信息: 正在保护 Database Control (此操作可能需要一段时间)... 2013-7-23 22:32:06 oracle.sysman.emcp.util.DBControlUtil secureDBConsole 信息: 已成功保护 Database Control。 2013-7-23 22:32:06 oracle.sysman.emcp.util.DBControlUtil startOMS 信息: 正在启动 Database Control (此操作可能需要一段时间)... 2013-7-23 22:32:52 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: 已成功启动 Database Control 2013-7-23 22:32:52 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: >>>>>>>>>>> Database Control URL 为 https://localhost:5500/em <<<<<<<<<<< 2013-7-23 22:32:53 oracle.sysman.emcp.EMDBPostConfig invoke 警告: ************************ WARNING ************************ 管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。 加密密钥已放置在文件 C:/oracle11gr2/product/11.2.0/dbhome_1/localhost_XSCJ/sysma n/config/emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可用 。 *********************************************************** 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2013-7-23 22:32:53
完也之后执行查看一下状态:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>emctl status dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://localhost:1158/em/console/aboutApplication Oracle Enterprise Manager 11g is not running. ------------------------------------------------------------------ Logs are generated in directory C:\oracle11gr2\product\11.2.0\dbhome_1/localhost _orcl/sysman/log
发现无效,于是准备手工启动
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>emctl start dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://localhost:1158/em/console/aboutApplication Starting Oracle Enterprise Manager 11g Database Control ...The OracleDBConsoleor cl service is starting.............. The OracleDBConsoleorcl service could not be started. A service specific error occurred: 2. More help is available by typing NET HELPMSG 3547.
这就奇了怪了,我明明使用的是XSCJ啊,为什么还是那个老的ORCL呢。反正到了这一步,再折腾一下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>set oracle_hostname=localhost
C:\Windows\system32>set oracle_unqname=xscj
(上面两句很重要。如果关机重来,我想因为我是在命令行中输入的,应该是要重新再做一遍的,至于值是什么 ,可以根据C:\oracle11gr2\product\11.2.0\dbhome_1\localhost_XSCJ这个目录来决定,还有C:\oracle11gr2\product\11.2.0\dbhome_1\oc4j\j2ee\OC4J_DBConsole_localhost_XSCJ这个目录也可以,加粗的部分就是hostname和unqname的值了。)紧接着启动:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
C:\Windows\system32>emctl start dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://localhost:5500/em/console/aboutApplication - An instance of Oracle Enterprise Manager 11g Database Control is already runn ing.
看到那个already running. 心里那个激动,迫不及待的在浏览器中输入https://localhost:5500/em,登录页面终于出现了。只是搞不明白为什么端口号变成了5500呢,难道是在那篇文章中看到的那句
emca -config dbcontrol db -DBCONTROL_HTTP_PORT 5508 -AGENT_PORT 3940 -RMI_PORT 5524 -JMS_PORT 5545
但这里没有一处指明是5500啊,Oracle还真是折腾人啊。
这里有位园子里的同学的亲身经历的文章,我照着做也是没有成功。作为参考放在这里吧。