Resolving error mod_oc4j Failed To find A Failover OC4J Process For Session Request For Destination (Doc ID 785296.1)
Have encountered an issues with oacore crashing in R12 Oracle Applications frequently:
Apache日志$LOG_HOME/ora/10.1.3/Apache
Error Message in error_log:
—————————
mod_oc4j: Failed to find a failover oc4j process for session request for destination: application://oacore (no island or jgroup).
Finding:
——-
The error ‘mod_oc4j Failed to find a failover oc4j process for session request for destination’ indicates that a session request was received by the Process Manger (PM). The PM was unable to find a java process to route the session to which would be defined as a “island” or “jgroup” and it failed.
The error indicates for some reason the OC4J process has become non responsive to the point where the PM has determined it failed or is no longer available. This error usually occurs when OHS (mod_oc4j) is not able to communicate ( over AJP ) with OC4J.
There are multiple reasons why this error may have happened: Some common reasons are
1. Load: e.g. Too many clients connecting to the application :
– The number of requests are high enough that the process cannot respond to new requests prior to reaching the timeout period.
2. Performance: Heavily loaded JVM or Lack of enough memory for JVM
– The OC4J oacore JVM processes in the middle tier are heavily loaded
– High number of jdbc connections with database there by increasing the number of threads on the java process.
3. Code:
* Internal to Application Server, one of the components are not operating
correctly or efficiently.
* External to ApplicationServer, E-Business code (seeded or custom code) causing
memory leakages.
4. Lack of free ports for AJP communication
Suggestion:
———-
Increae the OACore Heap Configuration to 512/1024 in opmn.xml
Change the below entry in opmn.xml(also modify the entry in xml file) and Bounce the opmn services.
From:
<data id=”java-options” value=”-server -verbose:gc -Xmx512M -Xms512M -XX:MaxPermSize=160M -XX:NewRatio=2
To:
<data id=”java-options” value=”-server -verbose:gc -Xmx1024M -Xms1024M -XX:MaxPermSize=256M -XX:NewRatio=2
注意:mod_oc4j: Failed to find a failover oc4j process for session request for destination: application://form (no cluster or jgroup).
If the error ends with “//form (no island or jgroup)” then oc4j forms process
has issue or if the error ends with “//oacore (no island or jgroup)” then oc4j
oacore process has issue.
In 11i, those changes are made in the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf file, while in R12 in the $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml
The heap is configured by s_oacore_jvm_start_option, s_forms_jvm_start_options in R12. For 12.1 and higher start with the following and increase as per the user load:
-Xmx1024M -Xms512M -XX:MaxPermSize=256M
-XX:NewRatio=2 -XX:+PrintGCTimeStamps
Also, Add the following parameter to the DBC file:
JDBC\:oracle.jdbc.maxCachedBufferSize=262144
For More Information Please Ref:Guidelines to setup the JVM in Apps Ebusiness Suite 11i and R12 [ID 362851.1]