Pythian Blog: Technical Track

EBS: R12 Default OACORE Memory Settings Are Not Enough

Not many of you know that my day-to-day work focus is Oracle E-Business Suite :). Here goes for an EBS-related blog post... Recently, several of my team's clients upgraded to version R12.1.3 and faced the same problem related to OACORE memory settings.

Default configuration

OACORE OC4J containers's default memory parameters are "-Xmx512M -Xms128M". This is way too small for most EBS systems (unless you are running a sand box environment). You can use the following command to find the setup in your system:
[applmgr@appshost01 scripts]$ cd $ADMIN_SCRIPTS_HOME
 [applmgr@appshost01 scripts]$ ./adoacorectl.sh status | grep "OC4J:oacore" | awk -F"|" '{print $3}' | while read L ; do ps -fp $L | grep -v PID ; done | awk -F"-X" '{print $2 $3}'
 mx512M ms128M
 mx512M ms128M
 [applmgr@appshost01 scripts]$

My suggestion

As always, it's kind of difficult to suggest anything specific. (It depends on the situation.) However, instead of using "-Xmx512M -Xms128M", I would start with "-Xmx2048M -Xms1024M" set up. To change the memory parameters, edit $CONTEXT_FILE and change the following line:
[applmgr@appshost01 scripts]$ grep s_oacore_jvm_start_options $CONTEXT_FILE
  ... -server -verbose:gc -Xmx2048M -Xms1024M ...
 [applmgr@appshost01 scripts]$
To finalize the setup run:
cd $ADMIN_SCRIPTS_HOME
 ./adautocfg.sh
And restart OACORE component:
./adopmnctl.sh stopall
 ./adopmnctl.sh startall

Side notes

  • I do believe that if Java and applications' code would be bug-free, "s_oacore_nprocs" parameter should be set to 1 for most of the systems.
  • However, Oracle instructs us to set an additional OARCORE process for all 200 users.
  • In most systems I have worked with, the parameter was set to 2.
  • Having multiple OACORE OC4J processes per environment makes it difficult to monitor the health of each container.
  • If you know how to make sure that each of the OACORE containers generates a correct response (we typically check login screen using the text browser from our monitoring system), then please help me out and share your solution in the comments section of this blog post.

Emergency fix

Just in case you need to fix an issue quickly, you may want to edit $INST_TOP/ora/10.1.3/opmn/conf/opmn.xml file directly and restart OPMN processes to enable new parameters. P.S. Don't forget to edit $CONTEXT_FILE to keep it in sync. As always, any comments are welcome! Yury View Yury Velikanov's profile on LinkedIn

No Comments Yet

Let us know what you think

Subscribe by email