Oracle RAC configuration with Progress Savvion BPM - Wiki - OpenEdge BPM - Progress Community

Oracle RAC configuration with Progress Savvion BPM

Oracle RAC configuration with Progress Savvion BPM

Introduction

This document provides information about configuring Progress Savvion BPM (SBM) with Oracle RAC. To start with please refer to the installation guide giving details about confuguring SBM post installation, for Oracle RAC.

URL for Oracle RAC

The URL provided in the installation guide for Oracle RAC is:

jdbc:savvion:oracle://<host1_Name>:<host1_Port>;ServiceName=<service_Name>;AlternateServers=(<host2_Name>:<host2_Port>,<host3_Name>:<host3_Port>);LoadBalancing=false;ServerType=dedicated

This URL needs to be updated to include few extra properties. Please refer to the modified URL below:

jdbc:savvion:oracle://<host1_Name>:<host1_Port>;ServiceName=<service_Name>;AlternateServers=(<host2_Name>:<host2_Port>,<host3_Name>:<host3_Port>);LoadBalancing=false;ServerType=dedicated;FailoverMode=select;FailoverPreconnect=false;serverName=<host1_Name>;portNumber=<host1_Port>

The DataSource configuration for connecting to an Oracle RAC is different for different application servers. The application server specific changes required for configuring a DataSource is mentioned below.

Also please refer to sample DataSource XML attached for each application server.

SBM installed with WebLogic 10.3

Configure the database URL for all the DataSources (both XA and non-XA) in the format mentioned in the section "URL for Oracle RAC".

SBM installed with JBoss Enterprise Application Platform 5.0.1 or JBoss Community Edition 5.1 server

Configure the database URL for all the non-XA DataSources in the format mentioned in the section "URL for Oracle RAC".

For XA DataSources, the xml file will require modification as mentioned below. The below steps needs to be performed for all the XA DataSources

Original XML snippet

<xa-datasource-property name="URL">jdbc:savvion:oracle://host1:1600;SID=myorcl</xa-datasource-property>

<xa-datasource-property name="ServerName">host1</xa-datasource-property>
<xa-datasource-property name="PortNumber">1600</xa-datasource-property>
<xa-datasource-property name="DatabaseName">myorcl</xa-datasource-property>
<xa-datasource-property name="User">savviondb</xa-datasource-property>
<xa-datasource-property name="Password">Snw!657z</xa-datasource-property>

Modified XML snippet

<xa-datasource-property name="ServerName">host1</xa-datasource-property>
<xa-datasource-property name="PortNumber">1628</xa-datasource-property>
<xa-datasource-property name="ServiceName">ORCL</xa-datasource-property>
<xa-datasource-property name="AlternateServers">(host2:1628,host3:1628)</xa-datasource-property> 
<xa-datasource-property name="FailoverMode">select</xa-datasource-property> 
<xa-datasource-property name="FailoverPreconnect">false</xa-datasource-property> 
<xa-datasource-property name="LoadBalancing">false</xa-datasource-property> 
<xa-datasource-property name="ServerType">dedicated</xa-datasource-property>
<xa-datasource-property name="User">savviondb</xa-datasource-property>
<xa-datasource-property name="Password">Snw!657z</xa-datasource-property>

SBM installed with WebSphere

Configure all the DataSources (both XA and non-XA) to support Oracle RAC. Changes are required in the custom properties associated with every DataSource.

These changes are to be done using the Admin Console Portal of WebSphere manually.Please refer to the attached resource.xml for the exact custom properties to be associated with XA and non-XA DataSources.

non-XA DataSource Properties XML snippet

<propertySet xmi:id="J2EEResourcePropertySet_1299174070944">
<resourceProperties xmi:id="J2EEResourceProperty_1299174070952" name="driverType" type="java.lang.Integer" value="4" description="Database driver type" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174070959" name="serverName" type="java.lang.String" value="lcdre25245-vip" description="Database server name" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174070967" name="portNumber" type="java.lang.Integer" value="49125" description="Database server port" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174070975" name="user" type="java.lang.String" value="CSBM" description="Database username" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174070983" name="password" type="java.lang.String" value="ept14y0u" description="Database password" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071004" name="extendedOptions" type="java.lang.String" value="throwExceptionForUnsupportedMethods=false" description="Disable setCursorName" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071041" name="webSphereDefaultIsolationLevel" type="java.lang.String" value="2" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071211" name="enable2Phase" type="java.lang.Boolean" value="false" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299203443699" name="loadBalancing" type="java.lang.String" value="false" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299203512302" name="serviceName" type="java.lang.String" value="CNET_EPT1.bankofamerica.com" required="false"/>
</propertySet>

XA DataSource Properties XML snippet

<propertySet xmi:id="J2EEResourcePropertySet_1299174071423">
<resourceProperties xmi:id="J2EEResourceProperty_1299174071431" name="driverType" type="java.lang.Integer" value="4" description="Database driver type" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071440" name="serverName" type="java.lang.String" value="lcdre25245-vip" description="Database server name" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071448" name="portNumber" type="java.lang.Integer" value="49125" description="Database server port" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071456" name="user" type="java.lang.String" value="CSBM" description="Database username" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071463" name="password" type="java.lang.String" value="ept14y0u" description="Database password" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071480" name="extendedOptions" type="java.lang.String" value="throwExceptionForUnsupportedMethods=false" description="Disable setCursorName" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071519" name="webSphereDefaultIsolationLevel" type="java.lang.String" value="2" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299174071541" name="enable2Phase" type="java.lang.Boolean" value="true" required="false"/>
<resourceProperties xmi:id="J2EEResourceProperty_1299199772632" name="loadBalancing" type="java.lang.String" value="false" required="false"/>
<resourceProperties  xmi:id="J2EEResourceProperty_1299199698720" name="serviceName"  type="java.lang.String" value="CNET_EPT1.bankofamerica.com"  required="false"/>
</propertySet>

jboss-bizlogicdb-ds.xml

weblogic-BizLogicDB-jdbc.xml

websphere-resources.xml

Comments
  • The information is very useful, but i find configuration for Pramati missing. I followed the approach on resource-config.xml for Pramati Server on SBM7.6 and it works. You need to add the URL parameters in <properties> tag of the <connection-factory> for all nodes. Example<connection-factory name="SBMDB_XACF" description="No Description" classname="com.savvion.jdbcx.oracle.OracleDataSource" url="jdbc:savvion:oracle://<host1_Name>:<host1_Port>;ServiceName=<service_Name>;AlternateServers=(<host2_Name>:<host2_Port>,<host3_Name>:<host3_Port>);LoadBalancing=true;ServerType=dedicated;FailoverMode=select;FailoverPreconnect=false;serverName=<host1_Name>;portNumber=<host1_Port>" authorized-by="container">    <login-parameters user="savviondb" password="Snw!657z" mask-password="false" />    <properties>        <property name="ServerName">host1</property>        <property name="PortNumber">1628</property>        <property name="ServiceName">ORCL</property>        <property name="AlternateServers">(host2:1628,host3:1628)</property>                     <property name="FailoverMode">select</property>                               <property name="FailoverPreconnect">false</property>                          <property name="LoadBalancing">true</property>                                <property name="serverType">dedicated</property>                            <property name="user">savviondb</property>        <property name="password">Snw!657z</property>    </properties>      </connection-factory>