on the in a clustered environment.
- Load balancer
- Server node #1
- Server node #2
- Database

The goal is to install the Oracle SOA Suite 11g software in a cluster on a such way that it is easy to configure, maintain and efficient in usage. We will install the following components based on release 11g, patch set 1 (ps1):
- Oracle Weblogic Server
- Oracle SOA Suite 11g
The software is already installed:
- Oracle Weblogic Server 11g
- Oracle SOA Suite 11g
- Oracle HTTP Server (Linux)
- Oracle Repository Creation Utility (RCU) (Linux)
We will install this software on each node. On each node we create a cluster and within that cluster two managed servers; soa_server and bam_server. On one of each server, node #1, we configure the admin server. On each server we install the Oracle HTTP Server that will route the requests to the two servers.
The approach of the installation is as follows.
- Configure Weblogic Server cluster domain definition.
- Pack and unpack cluster domain.
- Apply Java Object Cache
- Apply Oracle Coherence for cluster deployment
- Start environment
- Configure Oracle HTTP Server on each node
- Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite, 11g Release 1, E12036-02
- Chapter 4: Creating a domain
- Chapter 5: Extending the Domain for SOA Components
Post config, based on best practise:
- Enabled production mode in console and in domains/soadomain/bin/setDomainEnv.sh
- Set logging levels to Warn everywhere (servers, domain broadcaster) and enabled logs rotation.
- Checked Protocols->Enable Tunneling for all servers so SOA solution could handle t3 and iiop protocols
- Changed File Stores location to filestore/* subdirectories (to make cleanup easy).
- Specified valid listen address for AdminServer.
- Specifiedhostname for all managed servers
Have fun.
Marc
39 comments:
Marc,
Nice document.
Don't you think Dehydration DB as a single point of failure.
If the DB goes down then the SOA is unavailable. I would prefer to have a RAC when we configure SOA Cluster.
As shown in the diagram, the database supposed to be high available. This can be RAC off course, but SOA 11g supports also then databases for the dehydration, such as SQL Server.
Hi Marc,
We are about the install a cluster but I have some questions about the distributed queues and the persistence of these queues.
Do you know if this Soa cluser domain template arranges JMS service migration. Because when one soa managed server fails I want the messages in the soa distributed queues be handled by the other soa managed server.
so jms or server migration would be nice and what is the jms persistence for these soa jms server. File or database.
thanks Edwin
Edwin,
During the SOA cluster installtion, there is a step to execute a pyton script that will replace the local JMS queues to distributed. It is not defined in the base template itself.
If you want to make a template, you should define themself.
Hi Marc.
Nice document, but it seems as if you have left out the shared disk and virtual IP configuration stuff described in the Enterprise Deployment Guide and the High Availability Guide.
Do you have any input on this?
Good question! You can use shared-file-storage for WLS clustering.
It will result in a single binary install. You could also create an additional copy in case binary file is getting corrupted.
The domain-config can also be shared.
This means that with one shared file storage, you can use it by multiple servers within executing a complete install or config. It will skip the steps such as pack/unpack of domain configuration.
This way you can re-use / copy environments very easy and quickly.
Marc,
I installed SOA suite 11.1.1.1 on top of weblogic server 10.3.1. I followed oracle standard doc E12036-01 (Enterprise deployment Guide for SOA). Installation went smooth. But now when I am trying to start the managed servers on the two nodes. Some of them show "Failed_Not_Restartable" message. Do you have any clues on this?
Did you followed/verified your installation based on my document.
In the log files of the managed server, more information should be given on this error
Do you have a typo in your document?
Verify that there are two servers for SOA.
Name: soa_server1
Listen: node1.vijfhuizen.com
Port: 8010
Name: soa_server2
Listen: node1.vijfhuizen.com
Port: 8010
Click Next
should that be instead...
Verify that there are two servers for SOA.
Name: soa_server1
Listen: node1.vijfhuizen.com
Port: 8010
Name: soa_server2
Listen: node2.vijfhuizen.com
Port: 8010
Click Next
Nice work Marc, thank you for writing this up.
Is it possible to have 2 SOA domains connecting to the same database and sharing the same SOA DB schemas? I know that with previous BEA products like WLI you needed a separate DB schema per WebLogic domain. Is this the case with SOA11g domain?
The reason I am asking is that if you have 2 SOA domains, one in Data Centre A and one in Data Centre B connecting to the same DB Schema, can the one Domain see the other domain's BPM/BPEL long running processes? And when OSB routes messages to these domains, how will it know to which domain to route to in order to continue a conversation with a running process?
Is it possible to have 2 SOA domains connecting to the same database and sharing the same SOA DB schemas?
THIS IS NOT CERTIFIED AND GARANTEED TO WORK. TO SERVERS CAN PICK UP A PROCESS STATE TO PROCESS, YOU WILL NOT NOW WHICH PROCESS IS RUNNING IN WHICH SOA-INFRA.
SOLUTION:
1)
USE SEPERATE DATABASE-SCHEMAS IN THE SAME DATABASE.
2) DEFINE A CLUSTER, CREATE ONE DOMAIN OVER THESE TWO LOCATIONS.
Question on SOA Cluster...?
EDG somehow lacks information 'Scaling Up' / 'Scaling Out' SOA domains.
There are several unwritten rules like.
-There can be only one SOA Cluster per domain.
-A virtual host name should be created for each domain.
-There can be only one BAM Cluster per domain.
-There can be only one OSB Cluster per domain.
Cluster in general is understood as, in Weblogic Context, 'Two Managed Servers in Single Domain run in Two different machines'.
If there can be only one soa cluster per domain,
If I want to deploy 64 composite applications in 16 groups - 4 composite applications per domain, how would I do that...?
Please explain on 'Scaling SOA domains for Enterprise'. For some reason, Oracle seriously lacks documentation on this topic.
I wanted to correct my question.
This is what I intend to do.
For example, I have three departments, which plan to develop around 48 composite applications in total. But they prefer the applications to be isolated in groups very well, preferably in seperate domains and servers.
How would I do this SOA Suite 11g 11.1.1.3.
Three departments are for example.
operations, customer support, sales.
Let us say, each department has 16 composite applications. so I plan to create three soa domains and 4 partitions per domain.
It has be a clustered configuration with 2 nodes.
Operations department prefers their 16 applications be split in such a way, 4 composite applications per SOA server instance and would perfer it to be clustered between two nodes.
Here is the problem,
Oracle recommends not to have more than one SOA cluster per domain. So I wouldn't be able to create 4 SOA Clusters.
Please advise on how would I be able to do this.
Thanks,
Boopathy.
You can have ONE Oracle Suite Suite configuration running in a single Weblogic Domain. You you want to have more SOA Suites running on your server, you should create a new Weblogic Domain and configure the SOA Suite for this (watch out on ports).
I would recommend to have one SOA Suite on a Weblogic Domain and create SOA Partitions to deploy the various composites. The advantage is that you have one Enterprise Manager to control the SOA Suite environment. Using SOA Partitions you split functionally/technically the composites.
You add the physical machines to your Weblogic Domain and configure the Weblogic SOA managed servers into the WebLogic cluster and SOA cluster (coherence properties)
hi marc..
i read the EDG guide and your post. As somebody previously mentioned, is there a need to use VIP addresses?
Lets say, I don't have a shared storage, but i copy the seperated domain structure to local strage on both the nodes hosting the SOA Managed Servers.. will failover still occur?
You need to have a VIP adres, this adres is used int SOA suite in the callback of a soap adres. Otherwise it will return the name of the server of one the of the nodes.
Use the WLST pack and unpack to copy domain to multiple servers.
Hi Marc,
Nice document!!
I'hv 'FIRST' domain with 10 application running. Later I created another 'SECOND' domain which points to same database and sharing the same SOA DB schemas of first domain.
Here what I could see that in 'SECOND' domain also these 10 application/process are in running state since same DB and SOA DB schemas for both domain. Going ahead I did undeployed 5 applications out of 10 from 'SECOND' domain and created 'THIRD' domain pointing to same DB schemas and found the only remaining 5 application are in running state.
But when I started the 'FIRST' domain still it showing 10 application in running instead 5 application if it pointing to same SOA DB schemas.
Reason for asking, Is it possible to have multiple SOA domains connecting to the same database and sharing the same SOA DB schemas?
Hey Marc,
I'm running into a small problem. I'm using Oracle Fusion 11g R1. Would it be possible to run multiple SOA clusters within a single domain. Could you please give me the reasons why it would/wouldn't be possible? Thank you.
You can NOT install multiple SOA Clusters in a single domain. This is due to the fact that it is using domain wide resources for a single SOA cluster.
Thanks Marc. Appreciate your reply.
Marc,
We are planning to create three cluster viz (OSB_CLUSTER,SOA_CLUSTER1 for bpel,rules and mds as a core service and SOA_CLUSTER2 for handling large orders and also to keep non-critical apps deployed here) in single domain spanning across 4 boxes with ADMIN server running in 1 Active and the rest of them in passive apprach. Do you see any flaw in this design and you just answered to fusion_rman question that it is not possible to do so due to the single domoain cluster aware resources spanning across the multiple cluster?
Can you please elaborate more on this?
Thank You,
Lokesh T.C
Hi Marc,
We make use of polling on a temp table to catch new trx's. We get 1 trx in, but it creates 2 files at the end, instead of 1 file only.
We are using rac with 2 clusters. Is there a way of limiting my polling to only occurs once. We do mark the record as READ in the ODBC Adapter.
Theo
HI Marc
We followed your document http://www.namredlek.nl/orasoa/InstallSOASuite11gOnCluster_v1.pdf to install and configure SOA 11g cluster. When we compare the document with this post, we observed that steps of installing http server and configuring http server on each node are missing tin he pdfdocument we followed. Can you please provide us the updated document with screenshots and instructions about configuring http server for the topology mentioned in the diagram in the pdf.
Thanks a lot
Arun
Hi Marc,
Thank You for the great work! I was reviewing the pdf version of this document InstallSOASuite11gOnCluster_v1 and noticed that in your arch diagram, the adminserver is only running as a single instance. Do you actually inactivate the other admin servers or do you not install them? Please clarify if possible.
Regards
you have one adminserver runnnig in your domain.
ok thanks, so just to further clarify, when you do the installation on the second server, do you not select the adminserver option, or did I misunderstand and that there's no second installation you essentially do a pack and unpack?
Ths again!
Hi Marc,
I have a question about the NW set up of our cluster.
We run an active-active cluster, on 2 physical machines.(M1+M2)
M1 has the AdminServer, soa_server1(of the soa_domain) and bam_server1(of the bam_domain).
M2 has the soa_server2 and bam_server2 of the above domains.
We use MULTICAST for the clustering. The MULTICUST adresses are:
soa_cluster
239.192.0.0
8011
multicast
bam_cluster
239.192.0.0
9011
You thing it is an issue having same address for the 2 clusters even with different ports?
Kind Regards,
Loukas
Loukas,
This shouyld be no problem, as long they are using different port numbers.
Hi Marc
We are trying to consolidate multiple SOA installations. Oracle supports sharing of dehydration store across multiple SOA installations. Is it possible to share WebLogic and OHS tier as well?
Thanks
Vaishalee
Vaishalee, yes you should share the software over multiple configurations. You could install the software in one directory and create multiple domains or OHS configurations.
If you install the software on a SAN, you could use the software over multiple servers.
Hi Marc,
If we have more than one cluster in a domain like( soacluster, bamcluster and osbcluster). Do we need to enabel Java Object cache for all clusters in a domain
Hi Marc,
If the admin server on Node#1 fails then what are the steps to be taken to configure and start admin server on node#2?
Thanks,
Ranjan
Hi marc,
I have shell script which deplyos soa process to SOA Servers...there are multiple soa servers on cluster which uses load balancing and they have there individual port numbers... but however while deploying the process on cluster i want to deploy it without any port numbers.... if i put no port number and deploy it does respond but if i deploy it with 1905 port then it works... how can i deploy it without port....help ??
You should make sure that all managed servers are configured as a web-logic cluster AND make sure you have the coherence properties correct. Coherence is important for your deployment of the composites the cluster.
Deployment of a composite MUST be done to ONE of the SOA Managed Servers! Then they will be deployed to all other services. You MUST ALWAYS use a portnumber
Hi Marc,
Most of the documents on setting SOA 11g cluster advise RAC database. Is it possible to setup a SOA11g cluster in single node database (with a backup secondary DB for failover). Is this advisable for production? What is the risk of going with single node?
Appreciate your reply.
Thanks,
Vanaja
Post a Comment