1. 确认EM是否正常启动
在使用EM前,我们需要确认EM是否正常启动。可以从Windows的“服务”菜单里面查看Oracle服务是否启动,以及查看Oracle的日志文件。如果确定EM正常启动了,那就可以按照以下步骤解决EM无法打开的问题。
2. 确认EM是否可以通过浏览器访问
我们需要首先确认EM是否可以通过浏览器访问。在浏览器里输入URL,“https://hostname.domain:port/em”,其中“hostname.domain”是机器名或者IP地址,而“port”是默认端口1158
,也可以自己指定一个端口。
2.1 确认防火墙是否开启导致EM无法访问
如果EM无法通过浏览器访问,有可能是防火墙导致的。这时我们需要检查一下Windows系统的防火墙设置。可以尝试修改一下防火墙规则或者关闭防火墙,然后重新启动EM,如下:
netsh advfirewall firewall add rule name="Oracle EM" dir=in action=allow protocol=TCP localport=
其中,port
就是EM设置的端口,一般是1158
或者自定义的端口。
2.2 确认DNS或HOSTS文件是否正确
如果防火墙已经开放了EM的端口,但是EM依然无法通过浏览器访问,有可能是因为DNS解析或者HOSTS文件配置不正确。此时可以打开Windows的CMD窗口,使用PING命令来检测目标机器的网络是否正常,如下:
ping hostname.domain
如果PING成功,则说明DNS已经正确解析出了主机名或IP地址。如果PING不成功,则应该检查DNS的配置,或者检查HOSTS文件是否配置正确。
3. 确认EM是否需要HTTPS访问
EM有时需要启用HTTPS来进行加密通讯,这时就需要在浏览器里使用HTTPS协议来访问。如果EM需要HTTPS访问,那么在访问EM时必须加上“https://”前缀,如下:
https://hostname.domain:port/em
如果没有加上“https://”前缀就访问EM,那么就会出现“连接被拒绝”的错误。如果EM需要使用HTTPS访问,那么还要在浏览器里安装EM的数字证书,否则访问EM时会提示安全警告。数字证书可以在EM网站上下载或者通过EM的控制台配置。
4. 确认EM是否需要重新启动或重置
如果经过上述步骤后EM还是无法访问,那么可以尝试重启或者重置EM。可以按照以下步骤操作:
4.1 EM重新启动
如果EM卡住或者无响应,就可以尝试重新启动EM。可以在Windows的“服务”里面停止Oracle服务,然后再次启动Oracle服务,如下:
net stop OracleServiceORCL
net start OracleServiceORCL
其中,“ORCL”是Oracle的实例名,需要使用实际的实例名替换。
4.2 EM重置
如果EM还是无法启动或者无法访问,就可以尝试重置EM。可以按照以下步骤操作:
停止EM
emctl stop dbconsole
备份EM的配置文件
cd $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostname.domain_ORCL
copy *.* backup_dir
删除EM的配置文件
cd $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostname.domain_ORCL
rmdir /s /q *
重新创建EM的配置文件
emctl start dbconsole
以上步骤可以清除EM的所有配置信息,包括数据库实例和hostname及其它相关信息。当重置完EM后,就可以重新配置EM并且重新启用了。
5. 总结
如果EM无法启动,可以按照上述步骤来排查问题。首先要确认EM是否已经正常启动,然后检查一下网络和防火墙设置,再检查一下DNS或HOSTS文件是否配置正确。如果EM需要使用HTTPS访问,则需要安装EM的数字证书。如果EM还是无法启动,可以尝试重启或者重置EM。重置EM时要备份好配置文件,否则有可能造成数据丢失。