一. Bug 问题表现
2011年安装Oracle 10.2.0.4 和10.2.0.5 版本时,在配置OEM的时候会报错。 忽略这个错误后,DB 可以成功创建或者升级。
MOS 上关于这个bug的说明,参考:[ID 1222603.1]
该bug 的表现为DBCA和DBUA 配置失败:
Database Configuration Assistant (DBCA) and Database Upgrade Assistant (DBUA) will report the following error in the console:
Could not complete the Enterprise Manager configuration.
Enterprise manager configuration failed due to the following error –
Error starting Database Control
Enterprise Manager Configuration Assistant (EMCA) will write errors similar to those below to the emca.log file:
CONFIG: Securing Database Control completed successfully .
Jan 2, 2011 7:22:47 PM oracle.sysman.emcp.ParamsManager getParam
CONFIG: No value was set for the parameter ORACLE_HOSTNAME.
Jan 2, 2011 7:22:47 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Jan 2, 2011 7:22:47 PM oracle.sysman.emcp.util.PlatformInterface addEnvVarToList
CONFIG: Value for env var 'ORACLE_HOSTNAME' is '', discarding the same
CONFIG: Returning env array from cache
Jan 2, 2011 7:22:47 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
CONFIG: Starting execution: /myhost/bin/emctl start dbconsole
Jan 2, 2011 7:27:26 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
CONFIG: Exit value of 1
Jan 2, 2011 7:27:26 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
CONFIG: Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
https://myhost:5501/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control
............................................................................................. failed.
------------------------------------------------------------------
Logs are generated in directory /myhost/sysman/log
Jan 2, 2011 7:27:26 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
WARNING: Error executing /myhost/bin/emctl start dbconsole
Jan 2, 2011 7:27:26 PM oracle.sysman.emcp.EMConfig perform
SEVERE: Error starting Database Control
Refer to the log file at /myhost/dbua/d4/upgrade/emConfig.log for more details.
Jan 2, 2011 7:27:26 PM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
at oracle.sysman.emcp.EMDBPostConfig.performUpgrade(EMDBPostConfig.java:763)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:232)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:193)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:184)
at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:436)
at oracle.sysman.assistants.util.em.EMConfigStep.executeImpl(EMConfigStep.java:140)
at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
at oracle.sysman.assistants.util.step.BasicStep.callStep(BasicStep.java:251)
at oracle.sysman.assistants.dbma.backend.EMConfigStep.executeStepImpl(EMConfigStep.java:104)
at oracle.sysman.assistants.dbma.backend.SummarizableStep.executeImpl(SummarizableStep.java:175)
at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2488)
at java.lang.Thread.run(Thread.java:534)
The EMCA console will display output similar to the following:
aime@myhost09 db_1]$ bin/emca -config dbcontrol db -repos recreate -cluster
STARTED EMCA at Jan 11, 2011 4:11:01 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database unique name: catest
Database Control is already configured for the database catest
You have chosen to configure Database Control for managing the database catest
This will remove the existing configuration and the default settings and perform a fresh configuration
Do you wish to continue? [yes(Y)/no(N)]: Y
Listener port number: 1521
Cluster name: mycluster
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
........
Jan 11, 2011 4:18:05 PM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Securing Database Control (this may take a while) ...
Jan 11, 2011 4:19:31 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Jan 11, 2011 4:28:38 PM oracle.sysman.emcp.EMConfig perform
SEVERE: Error starting Database Control
Refer to the log file at /myhost/oracle/product/10.2.0/db_1/cfgtoollogs/emca/catest/emca_2011-01-11_
04-11-01-PM.log for more details.
Could not complete the configuration. Refer to the log file at /myhost/oracle/product/10.2.0/db_
1/cfgtoollogs/emca/catest/emca_2011-01-11_04-11-01-PM.log for more details.
二. Oracle 对这个bug原因的说明:
In Enterprise Manager Database Control with Oracle Database 10.2.0.4 and 10.2.0.5, the root certificate used to secure communications via the Secure Socket Layer (SSL) protocol will expire on 31-Dec-2010 00:00:00. The certificate expiration will cause errors if you attempt to configure Database Control on or after 31-Dec-2010. Existing Database Control configurations are not impacted by this issue.
If you plan to configure Database Control with either of these Oracle Database releases, Oracle strongly recommends that you apply Patch 8350262 to your Oracle Home installations before you configure Database Control. Configuration of Database Control is typically done when you create or upgrade Oracle Database, or if you run Enterprise Manager Configuration Assistant (EMCA) in standalone mode.
Note the following:
(1)The issue impacts configuration of Database Control with Oracle Database 10.2.0.4 and 10.2.0.5 only. It does not impact database creation or upgrade.
(2)The issue does not impact existing Database Control configurations.
(3)Application of Patch 8350262 does not require any database downtime
这个Patch 不受平台限制。
三. 解决该问题步骤
如果是在创建实例之前就把该patch给打上了,那么在创建OEM的时候不会受影响。
如果是已经报错了,解决步骤如下:
For Single Instance:
1. 使用Opatch 安装Patch 8350262
2. force stop the Database Control (dbconsole) process using the killDBConsole script bundled with the patch. Note that the dbconsole process cannot be stopped using the emctl stop dbconsole command, as EMCTL is unable to connect to the process.
(1)Set the ORACLE_HOME and ORACLE_SID environment variables.
(2)Execute <PATCH_HOME>/killDBConsole.
--windows 平台省略这一步
3. Re-secure Database Control with the following command:
<ORACLE_HOME>/bin/emctl secure dbconsole -reset
4. Re-start Database Control with the following command:
<ORACLE_HOME>/bin/emctl start dbconsole
For RAC Instance:
1. 使用Opatch 安装Patch 8350262, 在一个节点安装就ok了。
2. force stop the Database Control (dbconsole) process by executing the killDBConsole script bundled with the patch on each node in the cluster
在所有节点执行
(1)Set the ORACLE_HOME and ORACLE_SID environment variables.
(2)Execute <PATCH_HOME>/killDBConsole.
--windows 平台省略这一步
3. Re-secure Database Control on the first cluster node with the following command:
<ORACLE_HOME>/bin/emctl secure dbconsole -reset
4. Re-secure Database Control on the remaining cluster nodes with the following command. Note that the -reset switch is not included with this command:
<ORACLE_HOME>/bin/emctl secure dbconsole
5. Re-start Database Control by executing the following command on each node in the cluster:
<ORACLE_HOME>/bin/emctl start dbconsole
-------------------------------------------------------------------------------------------------------