初次安装完Oracle 11g启动OEM时会出错下面的错误(我是静默安装的数据库)
[oracle@uoracle ~]$ emctl start dbconsole
OC4J Configuration issue. /opt/app/oracle/product/11.2/db_1/oc4j/j2ee/OC4J_DBConsole_uoracle_ORCL not found.
这个问题就需要重新配置OEM然后执行下面命令
[oracle@uoracle ~]$ emca -config dbcontrol db
EMCA 开始于 2019-8-26 12:39:40
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: ORCL
已为数据库 ORCL 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 ORCL
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [是(Y)/否(N)]: Y
监听程序 ORACLE_HOME [ /opt/app/oracle/product/11.2/db_1 ]:
SYS 用户的口令:
DBSNMP 用户的口令:
用户名/口令无效。
DBSNMP 用户的口令:
用户名/口令无效。
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ /opt/app/oracle/product/11.2/db_1
本地主机名 ................ uoracle
监听程序 ORACLE_HOME ................ /opt/app/oracle/product/11.2/db_1
监听程序端口号 ................ 1521
数据库 SID ................ ORCL
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: Y
2019-8-26 12:40:31 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 /opt/app/oracle/cfgtoollogs/emca/ora11g/emca_2019_08_26_12_39_40.log。
2019-8-26 12:40:31 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2019-8-26 12:40:38 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...
2019-8-26 12:41:19 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功上载配置数据
2019-8-26 12:41:23 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 软件库已配置。
2019-8-26 12:41:23 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 将忽略 EM_SWLIB_STAGE_LOC (值)。
2019-8-26 12:41:23 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 正在部署预配档案...
2019-8-26 12:41:56 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 预配档案部署成功。
2019-8-26 12:41:56 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2019-8-26 12:41:58 oracle.sysman.emcp.util.PlatformInterface executeCommand
警告: 执行 /opt/app/oracle/product/11.2/db_1/bin/emctl secure dbconsole -host uoracle -sid ora11g 时出错
2019-8-26 12:41:58 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 保护 Database control 时出错。
2019-8-26 12:41:58 oracle.sysman.emcp.EMDBPostConfig setWarnMsg
信息: 保护 Database Control 时出错, Database Control 已在非安全模式下启动。要保护 Database Control, 请执行以下命令:
1) 将环境变量 ORACLE_SID 设置为 ORCL
2) /opt/app/oracle/product/11.2/db_1/bin/emctl stop dbconsole
3) /opt/app/oracle/product/11.2/db_1/bin/emctl config emkey -repos -sysman_pwd < SYSMAN 用户的口令 >
4) /opt/app/oracle/product/11.2/db_1/bin/emctl secure dbconsole -sysman_pwd < SYSMAN 用户的口令 >
5) /opt/app/oracle/product/11.2/db_1/bin/emctl start dbconsole
要保护 EM 密钥, 请运行 /opt/app/oracle/product/11.2/db_1/bin/emctl config emkey -remove_from_repos -sysman_pwd < SYSMAN 用户的口令 >
2019-8-26 12:41:58 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2019-8-26 12:42:03 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2019-8-26 12:42:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 http://uoracle:1158/em <<<<<<<<<<<
保护 Database Control 时出错, Database Control 已在非安全模式下启动。要保护 Database Control, 请执行以下命令:
1) 将环境变量 ORACLE_SID 设置为 ORCL
2) /opt/app/oracle/product/11.2/db_1/bin/emctl stop dbconsole
3) /opt/app/oracle/product/11.2/db_1/bin/emctl config emkey -repos -sysman_pwd < SYSMAN 用户的口令 >
4) /opt/app/oracle/product/11.2/db_1/bin/emctl secure dbconsole -sysman_pwd < SYSMAN 用户的口令 >
5) /opt/app/oracle/product/11.2/db_1/bin/emctl start dbconsole
要保护 EM 密钥, 请运行 /opt/app/oracle/product/11.2/db_1/bin/emctl config emkey -remove_from_repos -sysman_pwd < SYSMAN 用户的口令 >
但是执行完,启动OEM服务后,查看1158端口发现没启动,于是继续配置,按提示“保护 Database Control 时出错, Database Control 已在非安全模式下启动。要保护 Database Control, 请执行以下命令:”,
先设置ORACLE_SID为ORCL,这个在安装完数据库后已经在环境变量里加上了,所以略过;
再执行第2条前先关闭已启动的OEM服务:
[oracle@uoracle ~]$ emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
http://uoracle:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 11g Database Control ...
... Stopped.
关闭完就执行下面的命令:
[oracle@uoracle ~]$ emctl config emkey -repos -sysman_pwd oracle
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
The Em Key has been configured successfully.
发现这个没问题,继续第3条:
[oracle@uoracle ~]$ emctl secure dbconsole -sysman_pwd oracle
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
http://uoracle:1158/em/console/aboutApplication
DBCONSOLE already stopped... Done.
Failed to stop agent...
问题就在这了,先试着关闭agent进程:
[root@uoracle ~]$ lsof -i tcp:3938
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
emagent 27639 oracle 6u IPv4 73908 0t0 TCP *:dbcontrol_agent (LISTEN)
[root@uoracle ~]$ kill 27639
通过3938端口可以找到emagent进程,然后强制关闭进程,然后再执行第3条命令:
[oracle@uoracle ~]$ emctl secure dbconsole -sysman_pwd oracle
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
http://uoracle:1158/em/console/aboutApplication
DBCONSOLE already stopped... Done.
Failed to stop agent...
这样就完事了,然后启动OEM服务
[oracle@uoracle ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
http://uoracle:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control .... started.
------------------------------------------------------------------
Logs are generated in directory /opt/app/oracle/product/11.2/db_1/uoracle_ora11g/sysman/log
[oracle@uoracle ~]$ lsof -i tcp:1158
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 38080 oracle 18u IPv6 100669 0t0 TCP *:dbcontrol-oms (LISTEN)
启动完再次查看端口,会发现,1158端口起来了,然后找个浏览器看看,久违的OEM登录界面出来了。输入用户密码登录使用吧。