Installing an 11g SOA Cluster – Part VI Server Failover
By Antony Reynolds on Nov 12, 2010
In previous blog entries we built a SOA/BPM cluster with associated Web Services Manager and BAM clusters and got those working. We now need to enable automatic migration of servers to ensure that no messages are lost or unnecessarily delayed.
Creating the Server Migration Leasing Table
First we need to create a migration leasing table. This is used to keep track of which machines are hosting which managed servers.
Creating the Leasing Tablespace
We can put this into its own tablespace to keep it separate from the SOA schemas. Using SQLPlus we create the new tablespace as shown below:
create tablespace leasing
logging datafile '/u01/oradata/rac/leasing.dbf'
size 32m autoextend on next 32m maxsize 2048m
extent management local;
This creates a tablespace leasing using the new file “leasing.dbf” in the same location as the other database files in our RAC cluster. This file is set to an initial size of 32m and will grow in 32m increments until it reaches a limit of 2G.
Creating a Leasing Schema
We can now create a user and schema in this tablespace using SQLPlus as follows:
grant create table, create session to leasing identified by welcome1;
alter user leasing default tablespace leasing;
alter user leasing quota unlimited on leasing;
This creates the user leasing and sets his default tablespace to be leasing.
Creating the Leasing Table
We are now able to create our leasing table using the leasing.ddl script found in our WebLogic install at $WLS_HOME/server/db/oracle/920. We can copy this to our database server using scp and then execute it using SQLPlus as the leasing user as shown:
This will create a single table in the leasing schema to hold managed server lease details. (EDG)
Configuring WebLogic with a Leasing Data Source
Now that we have a leasing table we need to configure WebLogic with a data source that can access this table. This only needs to be able to support single phase commit because it will not be interacting with other transactional resources.
We will create a Multi-Data source to take advantage of our RAC cluster.
- In WebLogic Console navigate to Services->JDBC->Multi Data Sources
- Acquire an update lock if necessary and then select New to start creating a new Multi Data Source
- Set the name to be “leasing” and the JNDI name to be “jdbc/leasing” then click Next.
- Target this data source to all servers in the SOA_Cluster and BAM_Cluster then click Next
- Choose the non-XA driver and click Next
- Create new data sources for each RAC database instance
- The name should be “leasing-rac-N” and the JNDI name “jdbc/leasing-rac-N”
- Database type is “oracle” and the driver should be “Oracle Driver (Thin) for RAC server-Instance connection Version 10,11”
- Deselect “Supports Global Transactions” as we don’t need them for this data source
- Service name can be “soaedg.soa.oracle.com”, database is “racN”, hostname is “racN” and username/password is “leasing/welcome1”
- Target the data source at all servers in the SOA_Cluster and BAM_Cluster
- Add the newly created data sources to the Chosen column and finish.
- Don’t forget to commit your changes!
Configuring Node Manager for Address Management
We now need to configure the node manager to manage IP addresses. On each machine we edit the nodemanager.properties file and add the following entries:
Note that we moved the node manager configuration to a non-shared location when we first set it up so the nodemanager.properties file should be found in /u01/oracle/admin/NodeManager.
We previously configured the machines to grant appropriate privileges to the oracle user to run the ifconfig and arping commands. These privileges are required by the wlsifconfig.sh script used by the node manager. (EDG and EDG)
Configure Server Migration Targets
Using the WebLogic console to set up server migration. First select the machines to be used for each cluster (BAM_Cluster and SOA_Cluster).
Navigate to Environment->Clusters and for the BAM and SOA clusters:
- Select cluster (BAM_Cluster and SOA_Cluster) and choose migration tab.
- Move SOAHost1 and SOAHost2 from the Available field to the target field.
- Choose the leasing data source and save your changes.
For BAM Server (BAM1) and all SOA Servers (SOA1, SOA2) then we need to configure their target migration servers by navigating to Environment->Servers in WebLogic console. Then for each server do the following:
- Select the migration tab for the server and select the correct host to allow migration, for SOA1 this SOAHost2, for SOA2 it is SOAHost2 and for BAM1 it is SOAHost1. Note that we allow the server to migrate to the other machine in the cluster.
- Select Automatic Server Migration Enabled then save and activate changes.
- Restart the Admin Server.
Job Mostly Done
We have now pretty much finished setting up our SOA and BAM cluster. We still need to test our environment but otherwise we are good to go. In a future blog entry I will extend the domain to support OSB.