在WIN 7/64Bit上安装Oracle 11gR2后,管理网页Database Control(如:https://localhost:1158/em)始终登录不进去,总是说密码错误,使用配置工具Database Configuration Assistant重新配置后仍然报错:
2010-5-26 15:17:21 oracle.sysman.emcp.EMConfig perform
严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。
有关详细资料, 请参阅 D:OraclecfgtoollogsdbcaorclemConfig.log 中的日志文件。
2010-5-26 15:17:21 oracle.sysman.emcp.EMConfig perform
配置: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。
at oracle.sysman.emcp.ParamsManager.checkListenerStatusForDBControl(ParamsManager.java:3245)
at oracle.sysman.emcp.EMReposConfig.unlockMGMTAccount(EMReposConfig.java:1001)
经过仔细研究发现,在emConfig.log中使用如下hostname:
配置: connectDesc : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=BlueAeri-PC)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
但是在listener.ora中是这样的:
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
显然 BlueAeri-PC 是不能访问 localhost的,因此有两个解决方法:
1、单机用户适用:增加操作系统环境变量:ORACLE_HOSTNAME=localhost
2、服务器适用:在listener.ora中增加对BlueAeri-PC或ip地址的侦听
提示,在emConfig.log中仍然会报以下错误,不过不用理会:
配置: 未设置参数 ORACLE_HOSTNAME 的值。