Multiple OAM 11g Installations on Same Server

Recently i was  trying to have another instance of OAM on a server which already had a OAM instance up and running. Even though we change the default OAM port 14100 to different value during installation of second OAM, during the startup oam managed servers failed with errors as below:-

<Jun 25, 2012 11:30:10 AM UTC> <Error> <Deployer>  <oam_server1> <[ACTIVE] ExecuteThread: ‘1’ for queue: ‘weblogic.kernel.Default (self-tuning)’> <<WLS Kernel>> <> <34eea5fc76281eb7:2cabb3cd:13823672fc4:-8000-0000000000000004> <1340623810227> <BEA-149231> <Unable to set the activation state to true for the application ‘oam_server’.
weblogic.application.ModuleException: [HTTP:101216]Servlet: “AMInitServlet” failed to preload on startup in Web application: “oam”.
java.lang.ExceptionInInitializerError

....
.....

<Error> <Coherence> <BEA-000000>
Oracle Coherence GE 3.5.3/465p2 <Error> (thread=Cluster, member=n/a): This member could not join the
cluster because of an incompatibility between the cluster protocol used by this member and the one
being used by the rest of the cluster. This is most likely caused by a Coherence version mismatch,
or by mismatched protocol filters (e.g. compression, or encryption).>

Reason: OAM server picks the ports information from oam-config.xml configuration  file which is located under $DOMAIN_HOME/config/fmwconfig/oam-confg.xml by default .

This file have following ports information

1) OAM Managed Server Port – Port that Oracle Access Manager uses for HTTP communications, default value- 14100.

2) OAM Proxy Server Port – An integrated proxy server (OAM proxy) is installed with each OAM Managed server and uses this port  for communication between WebGates and the 11g server, default value- 5575

3) OAM Coherence Cluster Port- In a highly availability Oracle Coherence is user to keep configuration files in sync. Default cluster port in OAM-22828

4) OAM Coherence Local Port –  In OAM, Oracle Coherence uses local   coherence port as 9095 by default on each managed server  .

All these default values are hardcoded in oam-config.xml during OAM installation.

Now when you try to start 2nd OAM instance for first time, it picks the default values and try to start services on them. But since first instance already running services on default ports, the second oam instance fails.

Before starting 2nd installation OAM application after installation, take backup of original oam-config.xml file and change below port values:

1) Search for  multiple entries of OAM.coherence.cluster.port and change the default value to a unique port thats not in use
2) Search for oam.coherence.localport and change default 9095 to  different value  for AdminServer and oam managed server instances
3)  OAM proxy port  from 5575 to any different value.

After above changes, 2nd OAM instance should startup successfully.

 

About the Author Atul Kumar

Leave a Comment:

7 comments
Mahendra says July 19, 2012

Hi Neha,

I presume Coherence is used for distributed session management in HA OAM env. Do we use Coherence for synching configuration files as well? Please confirm.

-Mahendra

Reply
Mahendra says July 19, 2012

Moreover when the OAM instances are put up in a cluster, then configuration data will get sync automatically without the need of 3rd component say Coherence.

Please let me know if you think otherwise.

-Mahendra

Reply
stonep59 says September 11, 2012

Hi Mahendra,

I’ve tried all of the above and am still seeing the error, “AMInitServlet” failed to preload on startup in Web application: “oam”.

Any other suggestions?
I have 2 domains on the same server (idm_domain and tstidm_domain) running on Solaris 10. This posting definitely helped with the Cluster error but I am still seeing the oam_server fail deployment due to the error above.

Reply
Jakub Ksiazek says October 16, 2012

Hello,
Have you found a solution to this problem? I have fixed my cluster problem using above steps, but still get AMInitServlet failed to preload error…

Regards,
Jakub

Reply
ShankarS says March 13, 2013

Hi,

This post is very useful. I am getting exactly the same error. However, I am running the cluster nodes on two different servers but with a firewall in-between them. We have opened up server to server communication on the ports on the firewall. Still getting the same issue and errors. second oam server is not starting.

Any thoughts / ideas.

Thanks for your help.

Shankar

Reply
aminata says November 21, 2013

Hello i have done all these modification, but it still not working for me.

In my case, ihave created a domain with oam and then remove it.
Noww that i have recreate a new domain, my managed server does start , but not the appliwation oam_server deployed on it. it keeps throwing the same error
[HTTP:101216]Servlet: “AMInitServlet” failed to preload on startup in Web application: “oam”.

Reply
Add Your Reply

Not found