Upgrading OC4J Engine Embedded in OBIEE Installations

Firstly, make it clear about your current situation and the usability of OC4J Standalone in the context of OBIEE, as described in the article:

Enterprise Deployment of Oracle BI EE on OC4J and App Servers (Doc ID 968223.1)
However if you are in a environment where OC4J Standalone is used and you need an upgrade of this only component, you can use the following steps:

As a preparation step, you can download OC4J Standalone zip file from

Recommendation is to use the last build available, in this case OC4J

1.- Stop all BI processes, and oc4j instance from $BI_HOME completely

2.- Take backup $OBIHOME\oc4j_bi\ to $OBIHOME\oc4j_bi_backup\

3.- Unzip contents of OC4J extended standalone file into the directory $OBIHOME\oc4j_bi\

4.- Edit $OBIHOME\oc4j_bi\bin\oc4j.sh to reflect environmental variables defined in your $OBIHOME\oc4j_bi_backup\bin\oc4j.sh

As an example in my Windows testing box i set

set ORACLE_HOME=C:\OracleBI\oc4j_bi
set JAVA_HOME=C:\Java\jdk1.5.0_15

just prior to

set J2EE_HOME=%ORACLE_HOME%\j2ee\home

5.- Now check in your backup directory the value in $OBIHOME/oc4j_bi_backup/j2ee/config/default-web-site.xml:

<web-site xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:noNamespaceSchemaLocation=”http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd&#8221;
port=”XXXX” <display-name=”OC4J 10g (10.1.3) Default Web Site” schema-major-version=”10″ schema-minor-version=”0″>

6.- Edit $OBIHOME/oc4j_bi_backup/j2ee/config/default-web-site.xml

and change port=”8888″ to the value identified in the previous step (in the example it is XXXX)

This will make OC4J instance responding in the port XXXX

7.- Start oc4j standalone instance

The fist time OC4J is started, it will ask for the password of the oc4jadmin user.
Typically it will be oc4jadmin/oc4jadmin, but if you had a different value in your previous installation, when requested, please
insert the desired new password.

Once successful definition, OC4J will print in the standard output something like this

INFO: Updating JtaAdmin account
10/07/02 09:05:34 Set OC4J administrator’s password (password text will not be displayed as it is entered)
Enter password:
Confirm password: n
The password for OC4J administrator “oc4jadmin” has been set.
10/07/02 09:06:19 The OC4J administrator “oc4jadmin” account is activated.
10/07/02 09:06:30 Oracle Containers for J2EE 10g ( initialized

8.- Now, recreated and redeploy analytics.war file as described in Note 1075754.1

Keep in mind, for this step, you must access http://hostname:XXXX/em (using the port defined in step 6)

Capture of the log file in AScontrol is the following

[2010.07.02 09:23:55] Application Deployer for analytics STARTS.
[2010.07.02 09:23:55] Copy the archive to C:\OracleBI\oc4j_bi\j2ee\home\applications\analytics.ear
[2010.07.02 09:23:59] Initialize C:\OracleBI\oc4j_bi\j2ee\home\applications\analytics.ear begins…
[2010.07.02 09:23:59] Unpacking analytics.ear
[2010.07.02 09:24:09] Done unpacking analytics.ear
[2010.07.02 09:24:09] Unpacking analytics.war
[2010.07.02 09:24:34] Done unpacking analytics.war
[2010.07.02 09:24:34] Initialize C:\OracleBI\oc4j_bi\j2ee\home\applications\analytics.ear ends…
[2010.07.02 09:24:34] Starting application : analytics
[2010.07.02 09:24:34] Initializing ClassLoader(s)
[2010.07.02 09:24:34] Initializing EJB container
[2010.07.02 09:24:34] Loading connector(s)
[2010.07.02 09:24:34] Starting up resource adapters
[2010.07.02 09:24:34] Initializing EJB sessions
[2010.07.02 09:24:34] Committing ClassLoader(s)
[2010.07.02 09:24:34] Initialize analytics begins…
[2010.07.02 09:24:34] Initialize analytics ends…
[2010.07.02 09:24:34] Started application : analytics
[2010.07.02 09:24:34] Binding web application(s) to site default-web-site begins…
[2010.07.02 09:24:34] Binding analytics web-module for application analytics to site default-web-site under context root analytics
[2010.07.02 09:24:35] Binding web application(s) to site default-web-site ends…
[2010.07.02 09:24:35] Application Deployer for analytics COMPLETES. Operation time: 40398 msecs

9.- Following the same approach as in the previous step, deploy the following ear files:

a) $OBIHOME\oc4j_bi_backup\j2ee\home\applications\Oracle BI Management.ear -> use Application Name “Oracle BI Management”

b) $OBIHOME\office\server\bioffice.ear -> Use Application Name =”bioffice” and Context-Root “bioffice”

c) $OBIHOME\xmlp\xmlpserver.ear -> Use Application Name = “xmlpserver” and Context-Root “xmlpserver”

The deployment of application c) is expected to produce some errors in the OC4J log file

10/07/02 09:28:18 xdo.server.config.dir = null
[070210_092819015][][EXCEPTION] oracle.apps.xdo.servlet.resources.ResourceNotFoundException: ${oracle.home}/xdo/repository/Admin/Security/principals.xml
at oracle.apps.xdo.servlet.ReportException.fillInStackTrace(ReportException.java:124)
at java.lang.Throwable.<init>(Throwable.java:196)
at java.lang.Exception.<init>(Exception.java:41)
at oracle.apps.xdo.servlet.ReportException.<init>(ReportException.java:36)
at oracle.apps.xdo.servlet.resources.ResourceNotFoundException.<init>(ResourceNotFoundException.java:20)
at oracle.apps.xdo.servlet.resources.FileConfigProvider.getPrincipalConfig(FileConfigProvider.java:384)
at oracle.apps.xdo.servlet.security.SecurityManagerImpl.getPrincipalStream(SecurityManagerImpl.java:2216)
at oracle.apps.xdo.servlet.security.SecurityManagerImpl.<init>(SecurityManagerImpl.java:82)
at oracle.apps.xdo.servlet.security.SecurityHandler.getHandler(SecurityHandler.java:78)
at oracle.apps.xdo.servlet.GlobalContext.initSecurity(GlobalContext.java:128)
at oracle.apps.xdo.servlet.GlobalContext.init(GlobalContext.java:96)

These errors are expected at this moment now, and will be solved in the following steps.

10.- Now stop OC4J instance:

Either by running oc4j -shutdown, or by running CTRL + C in the shell window where you started OC4J engine

11.- Edit the file $OBIHOME\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\xmlp-server-config.xml

And replace ${oracle.home} by the value corresponding to your OC4J home , which would be $OBIHOME\oc4j_bi  (do not use environment variables, just use the full path)

12.- Now start up again OC4J instance from $OBIHOME/oc4j_bi/bin

No errors are expected at this point

13.- Now try accessing the url’s for the applications redeployed



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s