1.
Globally
This approach replaces the $ORACLE_HOME/jdk location that is used by all Application Server components (including opmn, dmstool, all OC4J instances etc.)

2.
Per OC4J Instance
In this scenario, the default JSDK is left untouched and a new JSDK location is created that can be used selectively with custom OC4J instances created after the initial Application Server install. This approach modifies the configuration of the Oracle Process Manager so that it uses a specific "java" executable when it starts a specified OC4J instance.

The JSDK that is shipped within Application Server undergoes comprehensive testing during the product development and release cycles and this version is then "certified" as a version not found to present any known issues of significant impact or risk to customers adopting it. Wherever possible it is recommended to minimize against the possibility of introducing unknown risks by making as little change to the "certified" product as possible and for this reason changing the JSDK for specific OC4J instances should be preferred over the global approach.

Before updating the JSDK it is also recommended that customers check the certification matrix for the Application Server in question and select a more recently certified JSDK possible, if possible. For a more detailed illustration of how to check under Metalink to see which JSDK versions have been certified, please see:

For some vendor JSDK platforms and download types you may be able to select to install the desired JDK directly to $ORACLE_HOME/jdk. In other cases, it may be neccessary to first install it to a different location, such as /usr/jdk1.5.0_08, and later copy it to the $ORACLE_HOME/jdk location.

Unlike with 9.0.4.x and 10.1.2.x, after the installation there are no additional files to copy from the original $ORACLE_HOMEjdk to the newly installed/copied $ORACLE_HOME/jdk.

However, users running on AIX 5L platforms will need to apply additional known patches to any newly installed vendor JDK:

o After saving the changes to opmn.xml:
+ reload opmn, so that it re-reads it's configuration file:
$ opmnctl reload
+ stop/start the desired OC4J instance so that it will be started using the modified "java" location:
$ opmnctl stopproc-process-type=myOc4j
$ opmnctl startproc-process-type=myOc4j

For a more detailed example, please refer to the following product documentation: