Oracle11g R2学习系列 之十 解决EM不能用

不知道是什么原因https://localhost:1158/em,今天突然就不能用了。做了好多搜索也没有解决。现象是在services.msc中,不能重启OracleDBConsole服务,提示:

OracleDBConsoleorcl

这个其实是windows的一个很普通的提示,深层次的帮助是很小的。因为是新手,也不明白原理,所以也只好继续在网上找原因,看到有人建议说用emca -repos drop重置一下,兴冲冲的执行了一下,结果显示如下图:

emca -repos drop

显示是正确完整的,但悲剧的是还是没有解决,最后我收到这篇文章 ,受到启发,使用DBCA先删除了orcl数据库。然后新建了一个叫XSCJ.domain的实例,SID为XSCJ.

然后我使用admin运行了cmd.依次执行:

C:Windowssystem32>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:oracle11gr2cfgtoollogsemcaXSCJemca_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
1,emca -repos recreate
C:Windowssystem32>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:oracle11gr2product11.2.0dbhome_1 ]:
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------

已指定以下设置

数据库 ORACLE_HOME ................ C:oracle11gr2product11.2.0dbhome_1

本地主机名 ................ localhost
监听程序 ORACLE_HOME ................ C:oracle11gr2product11.2.0dbhome_1
监听程序端口号 ................ 1521
数据库 SID ................ XSCJ
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............

-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2013-7-23 22:31:17 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 C:oracle11gr2cfgtoollogsemcaXSCJemca_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
2,emca -config dbcontrol db

完也之后执行查看一下状态:

C:Windowssystem32>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:oracle11gr2product11.2.0dbhome_1/localhost
_orcl/sysman/log
3,emctl status dbconsole

发现无效,于是准备手工启动

C:Windowssystem32>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.
emctl start dbconsole

这就奇了怪了,我明明使用的是XSCJ啊,为什么还是那个老的ORCL呢。反正到了这一步,再折腾一下:

C:Windowssystem32>set oracle_hostname=localhost

C:Windowssystem32>set oracle_unqname=xscj
oracle_hostname/unqname

(上面两句很重要。如果关机重来,我想因为我是在命令行中输入的,应该是要重新再做一遍的,至于值是什么 ,可以根据C:oracle11gr2product11.2.0dbhome_1localhost_XSCJ这个目录来决定,还有C:oracle11gr2product11.2.0dbhome_1oc4jj2eeOC4J_DBConsole_localhost_XSCJ这个目录也可以,加粗的部分就是hostname和unqname的值了。)紧接着启动:

C:Windowssystem32>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.
View Code

看到那个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还真是折腾人啊。

这里有位园子里的同学的亲身经历的文章,我照着做也是没有成功。作为参考放在这里吧

原文地址:https://www.cnblogs.com/SLKnate/p/oracle11g_EM_cannot_work_in_Win8.html