Wednesday Mar 13, 2013

Nohup obiee weblogic

To be able to start Weblogic admin server as a process running after the launching shell exits, the in weblogic needs to be created. The following commands are the simplest way to achieve this with OBIEE:[Read More]

Tuesday Feb 28, 2012

OBIEE 11.1.1 - IBM JDK Tuning for WebLogic 11G under AIX 6.x


Each lines like:
        if [ "${JAVA_VENDOR}" = "IBM" ] ; then
                # 64-bit IBM JVM is the only JVM supported for AIX
                # assume to always use Managed server memory args for 64-bit IBM JVM
                SERVER_MEM_ARGS="-Xms2048m -Xmx2048m -Xmns512m -Xmnx512m -Xss2m -Xrs -Xgcpolicy:gencon -Xverify:none"
                export SERVER_MEM_ARGS

    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>         set java thread stack size
    -Xrs                    reduce use of OS signals by Java/VM (see documentation)

      Sets the initial size of the new (nursery) heap to the specified value when using -Xgcpolicy:gencon. By default, this option is selected internally according to your system's capability. This option will return an error if you try to use it with -Xmn.
      Sets the maximum size of the new (nursery) heap to the specified value when using -Xgcpolicy:gencon. By default, this option is selected internally according to your system's capability. This option will return an error if you try to use it with -Xmn.
With no parameters, enables the verifier. Note that this is the default; used on its own, this option has no effect.

Additional parameters to review:

You can force the JVM to use large pages, which is more efficient memory management.
Java VM command line option: -Xlp64K

You should also consider using huger pages.
PPC64 supports 4K(default) and 16M (although this is more likely to speed things up but unlikely solve your heap problem...)
General info for AIX and PPC:
Java vm command line:
AIX: Requests the JVM to allocate the Java heap (the heap from which Java objects are allocated) with large (16 M pages, if a sizeis not specified. If large pages are not available, the Java heap is allocated with the next smaller page size that is supported by the system. AIX requires special configuration to enable large pages.

For more information about configuring AIX support for large pages, see
The SDK supports the use of large pages only to back the Java heap shared memory segments. The JVM uses shmget() with the SHM_LGPG and SHM_PIN flags to allocate large pages. The -Xlp option replaces the environment variable IBM_JAVA_LARGE_PAGE_SIZE, which is now ignored if set.
AIX, Linux, and Windows only: If a <size> is specified, the JVM attempts to allocate the JIT code cache memory using pages of that size. If unsuccessful, or if executable pages of that size are not supported, the JIT code cache memory is allocated using the smallest available executable page size."

You should also turn on verbose gc.
Java VM command line option:  –verbose:gc

Consider some of the following Java VM command line options (some IBM vm specific):
- -Xgcpolicy:subpool "Uses an improved object allocation algorithm to achieve better performance when allocating objects on the heap. This option might improve performance on large SMP systems"
- -Xcompressedrefs "Use -Xcompressedrefs in any of these situations: When your Java applications does not need more than a 25 GB Java heap. When your application uses a lot of native memory and needs the JVM to run in a small footprint."
- -Xcompactexplicitgc "Enables full compaction each time System.gc() is called."
- -Xcompactgc "Compacts on all garbage collections (system and global)."
- -Xsoftrefthreshold<number> "Sets the value used by the GC to determine the number of GCs after which a soft reference is cleared if its referent has not been marked. The default is 32, meaning that the soft reference is cleared after 32 * (percentage of free heap space) GC cycles where its referent was not marked." Reducing this will clear out soft  references sooner. If any soft referenced-based caching is being used, cache hits will go down but memory will be freed up faster. But this will not directly solve your OOM problem: "All soft references are guaranteed to have been cleared before the OutOfMemoryError is thrown.
The default (no compaction option specified) makes the GC compact based on a series of triggers that attempt to compact only when it is beneficial to the future performance of the JVM."

Tuesday Feb 21, 2012

OBIEE 11.1.1 / EPM 11.1.2 - WebLogic Server 10.3.x takes long to startup on RHEL 5.x.

WebLogic Server 10.3.x takes long to startup on RHEL 5.x. About 7 mins then eventually comes up in running mode. After this when you enter username and password on the WLS console, it takes 5-8 mins to come up.

Issue is that OS was running out of random number generation, and that caused the delay in startup. Following solutions will resolve this issue.

Possible solutions:

1) mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
Note: The above mentioned solution is not recommended, though it does the job.

2) Add “” to java parameters (JAVA_OPTIONS in file).

Note: This article applies to OBIEE 11.1.1.x and EPM 11.1.2.x

Thursday Nov 17, 2011

OBIEE 11.1.1 - Disable Wrap Data Types in WebLogic Server 10.3.5

By default, JDBC data type’s objects are wrapped with a WebLogic wrapper. This allows for features like debugging output and track connection usage to be done by the server. The wrapping can be turned off by setting this value to false. This improves performance, in some cases significantly, and allows for the application to use the native driver objects directly.

Tip: How to Disable Wrapping in WLS Administration Console

You can use the Administration Console to disable data type wrapping for following JDBC data sources in bifoundation_domain domain:

Data Source Name





To disable wrapping for each JDBC data source (as stated in above table):

1.     If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit.

2.     In the Domain Structure tree, expand Services, then select Data Sources.

3.     On the Summary of Data Sources page, click the data source name for examplemds-owsm”.

4.     Select the Configuration: Connection Pool tab.

5.     Scroll down and click Advanced to show the advanced connection pool options.

6.     In Wrap Data Types, deselect the checkbox to disable wrapping.

7.     Click Save.

8.     To activate these changes, in the Change Center of the Administration Console, click Activate Changes.

Important Note: This change does not take effect immediately—it requires the server be restarted.

Wednesday Nov 16, 2011

EPM 11.1.2 - In WebLogic Server, Enable Native IO Performance Pack

Performance can be improved by enabling native IO in production mode. WebLogic Server benchmarks show major performance improvements when native performance packs are used on machines that host Oracle WebLogic Server instances.

Important Note:  Always enable native I/O, if available, and check for errors at startup to make sure it is being initialed properly.

Tip: The use of NATIVE performance packs are enabled by default in the configuration shipped with your distribution. You can use the Administration Console to verify that performance packs are enabled by clicking on each managed server and click on Tuning tab.

Sunday Sep 25, 2011

EPM 11.1.2 - Increasing JVM Size of WLS Admin Server

In order to make sure successful deployments of several EPM web applications. It is highly recommended to tune the Admin Server java heap size.


Tip: JVM size of Admin server can be increased by changing Xmx and Xms values in setDomainEnv.cmd | .sh,  which is located in $MW_HOME/user_projects/domains/<Domain>/bin


Depending up on type of JVM used make the changes in following block in setDomainEnv.cmd | .sh file. Below is the example on how to change the value of XMS and XMX of 64 Bit JRockit to 1024 and 2048 and also declare support for larger heap size parameter.

set XMS_SUN_64BIT=256

set XMS_SUN_32BIT=256

set XMX_SUN_64BIT=512

set XMX_SUN_32BIT=512

set XMS_JROCKIT_64BIT=1024


set XMX_JROCKIT_64BIT=2048

@REM Declare new switch to support larger heap size for 64bit




if "%JAVA_VENDOR%"=="Oracle" (

                set CUSTOM_MEM_ARGS_64BIT=-Xms%XMS_JROCKIT_64BIT%m -Xmx%XMX_JROCKIT_64BIT%m --XXcompressedRefs:size=%COMPRESSED_REF%GB

                set CUSTOM_MEM_ARGS_32BIT=-Xms%XMS_JROCKIT_32BIT%m -Xmx%XMX_JROCKIT_32BIT%m

) else (

                set CUSTOM_MEM_ARGS_64BIT=-Xms%XMS_SUN_64BIT%m -Xmx%XMX_SUN_64BIT%m

                set CUSTOM_MEM_ARGS_32BIT=-Xms%XMS_SUN_32BIT%m -Xmx%XMX_SUN_32BIT%m

Friday Jul 01, 2011

EPM 11.1.2 - In a Solaris environment, EPM Web applications start up is unacceptably slow using JRockit R28.0.1

On some Solaris boxes, Oracle JRockit would start slowly, printing warnings; for example:

[WARN ][osal   ] Failed to initialize kstat for CPU 0, ignoring

Apply JRockit  R28.0.2 as this issue has been fixed in release. For more information, read below:

[3.4.1 Oracle JRockit Starts Slowly on Some Solaris Machines]