Database Control exists of a OMS and Agents. On each node the agent must be running an the OMS will be running on one node. In general where database control is configured OMS is configured. The agents will update the information to DBControl. So to be able to have Database Control High available we need at least 2 DBConsole active. Notice that running multipe DBConsole it require some additional memory and CPU.
You will use emca to display and modify the current configure.
What is the current configuration ?
[oracle@server2 ~]$ emca -displayConfig dbcontrol -cluster
STARTED EMCA at Mar 19, 2010 8:57:58 AM
EM Configuration Assistant, Version 11.2.0.0.2 Production Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database unique name: RAC
Service name: RAC2
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar 19, 2010 8:58:10 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/cfgtoollogs/emca/RAC/emca_2010_03_19_08_57_58.log.
Mar 19, 2010 8:58:13 AM oracle.sysman.emcp.EMDBPostConfig showClusterDBCAgentMessage
INFO:
**************** Current Configuration ****************
INSTANCE NODE DBCONTROL_UPLOAD_HOST
---------- ---------- ---------------------
RAC server1 server1.grid-it.nl
RAC server2 server1.grid-it.nl
As you see we have a database with the name RAC. DBControl is configured on server1.
Now you have 2 options:
Assume you have an failure with server1, the hardware is broken. This mean you cannot connect to DBControl. So modify the configuration to have DBControl active on server2 is an option. Although this is not a really HA solution, manual interference is needed you can execute the following statement.
How to reconfig DBControl ?
[oracle@server2 ~]$ emca -reconfig dbcontrol -cluster
STARTED EMCA at Mar 19, 2010 8:59:36 AM
EM Configuration Assistant, Version 11.2.0.0.2 Production Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database unique name: RAC
Service name: RAC2
Database Control node name (optional):
Agent Node list [comma separated] (optional):
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar 19, 2010 8:59:45 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/cfgtoollogs/emca/RAC/emca_2010_03_19_08_59_36.log.
Mar 19, 2010 8:59:47 AM oracle.sysman.emcp.util.DBControlUtil stopOMS
INFO: Stopping Database Control (this may take a while) ...
Mar 19, 2010 9:00:15 AM oracle.sysman.emcp.EMAgentConfig performDbcReconfiguration
INFO: Propagating /u01/app/oracle/product/11.2.0/dbhome_1/server1_RAC/sysman/config/emd.properties,/u01/app/oracle/product/11.2.0/dbhome_1/server2_RAC/sysman/config/emd.properties to remote nodes ...
Mar 19, 2010 9:00:15 AM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Mar 19, 2010 9:01:11 AM oracle.sysman.emcp.EMDBPostConfig performDbcReconfiguration
INFO: Database Control started successfully Mar 19, 2010 9:01:11 AM oracle.sysman.emcp.EMDBPostConfig showClusterDBCAgentMessage
INFO:
**************** Current Configuration ****************
INSTANCE NODE DBCONTROL_UPLOAD_HOST
---------- ---------- ---------------------
RAC server1 server2.grid-it.nl
RAC server2 server2.grid-it.nl
Due to the fact you execute the reconfig statement on server2, DBControl will be automatically configured on this host. The above confirm this.
To accomplish this you need to execute again a reconfig statement but notice you need to define the Database Control Name and Agent Node.
How to make DBcontrol High Available ?
[oracle@server2 ~]$ emca -reconfig dbcontrol -cluster
STARTED EMCA at Mar 19, 2010 9:01:48 AM
EM Configuration Assistant, Version 11.2.0.0.2 Production Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database unique name: RAC
Service name: RAC2
Database Control node name (optional): server1
Agent Node list [comma separated] (optional): server1
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar 19, 2010 9:02:13 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/cfgtoollogs/emca/RAC/emca_2010_03_19_09_01_36.log.
Mar 19, 2010 9:02:20 AM oracle.sysman.emcp.util.DBControlUtil stopOMS
INFO: Stopping Database Control (this may take a while) ...
Mar 19, 2010 9:02:35 AM oracle.sysman.emcp.EMAgentConfig performDbcReconfiguration
INFO: Propagating /u01/app/oracle/product/11.2.0/dbhome_1/server1_RAC/sysman/config/emd.properties to remote nodes ...
Mar 19, 2010 9:02:36 AM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Mar 19, 2010 9:03:04 AM oracle.sysman.emcp.EMDBPostConfig performDbcReconfiguration
INFO: Database Control started successfully Mar 19, 2010 9:03:04 AM oracle.sysman.emcp.EMDBPostConfig showClusterDBCAgentMessage
INFO:
**************** Current Configuration ****************
INSTANCE NODE DBCONTROL_UPLOAD_HOST
---------- ---------- ---------------------
RAC server1 server1.grid-it.nl
RAC server2 server2.grid-it.nl
In case of a failure of one host, you can still use DBControl without any additional modification, with the remark you need to modify the url to point to the other host.
The end result is you have DBControl High Available.
Next step is to add emctl to the Cluster layer as a resource to have it automatically started.
The steps to execute this be explained in another article.
|