Wednesday, December 24, 2008

Don't forget to apply compat-libstdc++-devel!

For those who have done this before, installing an Oracle SOA Suite 10g (10.1.3.4) cluster on Red Hat ES 4 Update 7 x86 requires:
    (1) Installing the Oracle Application Server 10g (10.1.3.1) 'J2EE Server' (via the file soa_linux_x86_101310_disk1.cpio).
    (2) Installing Oracle BPEL Process Manager 10g (10.1.3.1) (via the file soa_linux_x86_bpel_101310.cpio).
    (3) Manually deploying the BPEL Process Manager application.
    (4) Etc, etc, etc...
After steps (1) and (2) above, Oracle BPEL Process Manager Configuration Assistant failed after the installation of BPEL Process Manager with the following error:
    BUILD FAILED
    /u01/app/oracle/product/10.1.3/soa_1/bpel/system/services/install/ant-tasks/bpminstall.xml:329: The directory you specified does not exist

    End output from spawned process.
    ----------------------------------
    Configuration assistant "Oracle BPEL Process Manager Configuration Assistant" was canceled.
    Result code for launching of configuration assistant is: -1
Several issues also ensued, such as $ORACLE_HOME/bpel/utilities being created as a file and not a directory.

The source of the problem? During the J2EE install, the compat-libstdc++ and compat-libstdc++-devel RPMs were not applied. The prerequisite checks were incorrectly ignored by the individual installing the software:
    Checking for compat-libstdc++-devel-7.3-2.96.128; found Not found.      Failed <<<<
    Checking for compat-libstdc++-7.3-2.96.128; found Not found. Failed <<<<
The solution involved downloading compat-libstdc++-7.3-2.96.128.i386.rpm and compat-libstdc++-devel-7.3-2.96.128.i386.rpm and running the following commands:
    rpm -e compat-libstdc++-296-2.96-132.7.2
    rpm -ivh compat-libstdc++-7.3-2.96.128.i386.rpm
    rpm -ivh compat-libstdc++-devel-7.3-2.96.128.i386.rpm
At that point, reinstallation from scratch was required. Voila!

Thursday, December 18, 2008

"System.out" not being logged in Oracle Application Server 10g R3

A few projects ago, a developer complained that his System.out statements were not being logged. For example, his JSP might include the following line:
    System.out.println("hello world");
By default, this is not logged anywhere under Oracle Application Server 10g (10.1.3). The container must be manually configured to log these statements.

Configure System.out logging via EM Console:
1. Log in to the EM Console.
2. Navigate to the container name (e.g., home)
3. Click on Administration
4. Click on Server Properties
5. Add the following under Start-parameters: OC4J Options; for example:
-out c:\oracle\product\10.1.3\as10g\j2ee\home\log\ws_default_group_1\sysout.log
6. Restart the container

Configure System.out logging manually:
1. Shutdown opmn via opmnctl stopall
2. Edit the opmn.xml file and add the following entry to the start-parameters section of the container. For example:
<data id="oc4j-options" value="-out c:\oracle\product\10.1.3\as10g\j2ee\home\log\ws_default_group_1\sysout.log"/>
3. Restart opmn via opmnctl startall

The output should now appear in the log file you configured:
    %ORACLE_HOME%\j2ee\home\log\ws_default_group_1\sysout.log