Monday, November 14, 2016

Essbase Active/Passive Clustering - OPMN.xml Updates


Essbase allows for active/passive clustering of the servers for use in a failover or DR scenario.  Oracle uses OPMN to handle the failover from one node to another in the event of a failure. The EPM Config tool, used to configure ESSBASE, does not update the OPMN.xml file correctly and needs to be manually updated as a post install step.
Below are the edits needed to ensure failover of the nodes:
Manual edits of the /user_projects/{eps_instance}/config/OPMN/opmn/opmn.xml file:
1. Lines 4-8 “Notification Server” Sections
Original Entry:
   <notification-server interface="any">
      <ipaddr remote=“host002.corporate.com"/>
      <port local="6711" remote="6712"/>
      <ssl enabled=“true" wallet-file="/u01/Oracle/Middleware/user_projects/host002/config/OPMN/opmn/wallet"/>
   </notification-server>
Update to disable SSL (rarely used):
   <ssl enabled=“false" wallet-file="/u01/Oracle/Middleware/user_projects/host002/config/OPMN/opmn/wallet"/>
Add the following lines before </notification-server> 
   <topology>
<nodes list=“host002.corporate.com:6712, host004.corporate.com:6712" /> </topology>
Note: on the 004 node the order of the nodes is reversed
The updated section should like similar to this:
 <notification-server interface="any">
      <ipaddr remote=“host002"/>
      <port local="6711" remote="6712"/>
      <ssl enabled=“false" wallet-file="/u01/Oracle/Middleware/user_projects/host002/config/OPMN/opmn/wallet"/>
      <topology>
         <nodes list=“host002.corporate.com:6712, host004.corporate.com:6712" />
      </topology>
 </notification-server>
2. Update ics-component type (line 55 in my working file, line 52 in original unedited file)
Original Entry:
      <ias-component id="Essbase1">
      <process-type id="EssbaseAgent" module-id="ESS">
Update to the name of Essbase Cluster using in configtool:
      <ias-component id="TCEssP">
Add service failover entry:
      <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="100"> Note: on the second node the service-weight is “101”
The updated section should look similar to this:
      <ias-component id="TCEssP">
      <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="100">
3. Make sure this value reflects cluster name used in Configtool (line 80 in my working file, line 77 in original unedited file)
CONFIRM: <variable id=“ESSBASE_CLUSTER_NAME” value="TCEssP"/>
4. Disable auto agent restart (line 86 in my working file, line 83 in original unedited file)
BEFORE: <process-set id=“AGENT” restart-on-death=“true">
AFTER: <process-set id=“AGENT” restart-on-death="false">
After the xml files are updated you can test failover with this process:
Start Essbase on host 002 using {EPM_INSTANCE_BIN}/bin/opmnctl startall
Verify it started correctly {EPM_INSTANCE_BIN}/bin/opmnctl status
Processes in Instance: EPM_host002
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
TCEssP                               | EssbaseAgent       |   30407 | Alive
Start Essbase on host 004 using {EPM_INSTANCE_BIN}/bin/opmnctl startall
Verify it started correctly {EPM_INSTANCE_BIN}/bin/opmnctl status

Processes in Instance: EPM_host004
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
TCEssP                               | EssbaseAgent       |     N/A | Down
Stop Essbase on host 002 using {EPM_INSTANCE_BIN}/bin/opmnctl stopall
Verify it stopped correctly {EPM_INSTANCE_BIN}/bin/opmnctl status
>opmnctl status: opmn is not running.
Verify OPMN started Essbase on the host 004 {EPM_INSTANCE_BIN}/bin/opmnctl status
Processes in Instance: EPM_host004
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
TCEssP                               | EssbaseAgent       |   64812 | Alive

No comments:

Post a Comment