Wednesday, July 21, 2010

Application Server 10g Log Locations

These are the common log locations for various components under Application Server 10g.

Sr.

Component

Log Location

Comments

1

HTTP Server

$OH/Apache/Apache/logs

Contains Access log and Error logs. Logging can be controlled using LogLevel parameter in httpd.conf file under $OH/Apache/Apache/conf

2

OPMN

$OH/opmn/logs

Has start/stop logs for all components installed. E.g. HTTP, OID, SOA etc

3

SSO Server

$OH/sso/log/ssoServer.log

Has detailed logs of SSO server. Will also give information for user authentication failure etc. Can configure the log level in policy.properties under $OH/sso/conf

4

LDAP Server (OID)

$OH/ldap/log

Contains logging information about the ldap processes, syncrhronization processes (odisrv) and monitor process (oidmon). The logs for LDAP and ODISRV will have their PIDs suffixed to their name (oidldapd01s966746.log)

5.1

OC4J

$OH/j2ee/<instance_name>/log/oc4j/log.xml

This file contains all generic information about the specific J2EE instance. This is common for all J2EE versions (10.1.2.x, 10.1.4.x and 10.1.3.x). This is particularly useful in debugging ESB applications.

5.2

OC4J

$OH/j2ee/<instance_name>/log

This location has various different logs (jms, rmi, default-web-access, global-application etc). Dig under this folder to find out logging information related to jms/rmi issues. For example, if there is an issue in two systems interacting to each other using rmi protocol (which is mostly the case), you can check the rmi.log for information related to that.This is also common for all versions of Application Server.

5.3

OC4J

$OH/j2ee/<instance_name>/application-deployments/<application><instance_name_default_island_num>

An instance will have many applications deployed to it viz. sso, oiddas, esb-dt, bpel, ccore (wsm). The application specific logs are generated in this folder. For versions 10.1.2.x and 10.1.4.x an example of the location can be "$OH/j2ee/OC4J_SECURITY/application-deployments/oiddas/OC4J_SECURITY_default_island_1" (for OIDDAS application) and for version 10.1.3.x it would be "$OH/j2ee/oc4j_esbdt/application-deployments/esb-dt/oc4j_esbdt_SOA_ESBDT_1" (for ESB DT application).

5.3

OC4J

$OH/j2ee/<instance_name>/application-deployments/<application><instance_name_group_name>

  

6

DCM Server

$OH/dcm/logs

Contains logs for dcmctl commands.

7

IAS Console (10.1.2.x & 10.1.4.x)

$OH/sysman/log

Contains logging information about the iascontrol application used in versions 10.1.2.x and 10.1.4.x. For version 10.1.3.x there is no iascontrol instead there is em console (the application name is ascontrol). The log for that can be accessed as mentioned in point 5.3.

8

Webcache Server

$OH/webcache/logs

Has access and error logs for webcache.

9

Report Server

$OH/reports/logs/<report_server_name>/rwserver.log

All startup/shutdown information of reports server as well the engines is logged in this along with any other error messages.

10

Forms Server

$OH/forms/trace

If the trace is enabled for forms then this directory will contain all the trace dumps. You can get the name of the trace file from the iasconsole when you enable the trace for a form session. For information on formapps application check location at 5.3 (substitue formapps for application)

11

Portal Server

$OH/portal/logs

This directory contains only logging information from ptlconfig file. For a detailed portal application log check point 5.3.

12.1

BPEL Server

$OH/bpel/system/logs

This is basic directory having all BPEL specific logs. This will have system wide logs.

12.2

BPEL Server

$OH/bpel/domains/<domain_name>/logs

This directory contains only domain specific logs.

Tuesday, July 20, 2010

SSO server version v3.0 is not supported

While enabling SSO for SOA 10g I tumbled upon this error while starting my HTTP Server process.
The HTTP Server logs under opmn showed the following:
$ cat $OH/opmn/logs/HTTP_Server *

--------
10/06/25 07:17:30 Start process
--------
/u01/app/oracle/product/10.1.3/OracleAS_1/Apache/Apache/bin/apachectl startssl: execing httpd
Syntax error on line 6 of /u01/app/oracle/product/10.1.3/OracleAS_1/Apache/Apache/conf/mod_osso.conf:
SSO server version v3.0 is not supported.

Now this happened because of a version mismatch in the SSO conf file I generated from my SSO box. The SSO version was 10.1.4.3 and I was using the generated conf file for SOA 10.1.3.4. The syntax I used for generating the file was this:

$OH/sso/bin/ssoreg.sh -oracle_home_path /u03/app/OAS/product/10.1.4/Infra/sso \
 -site_name xyz.com -config_mod_osso TRUE \
 -mod_osso_url http://xyz.com:7777 -remote_midtier \
 -config_file /u03/app/OAS/product/10.1.4/Infra/sso/Apache/Apache/conf/osso/osso_soa.conf

This by default creates a SSO configuration file which would be of a version 3, which is incompatible with SOA 10.1.3.x installations. So, we need to add a parameter to the above command to tell SSO that we need a file with older version. Run the same command with the following syntax:

$OH/sso/bin/ssoreg.sh -oracle_home_path /u03/app/OAS/product/10.1.4/Infra/sso \
-site_name xyz.com -config_mod_osso TRUE \
-mod_osso_url http://xyz.com:7777 -remote_midtier \
-config_file /u03/app/OAS/product/10.1.4/Infra/sso/Apache/Apache/conf/osso/osso_soa.conf
-sso_partner_version v1.4

Transfer the SSO configuration file generated to the middle tier and run the osso1013 command again. Try starting the HTTP Server, it should work now.

References: Metalink note 809743.1

Thursday, July 1, 2010

Can't locate File/Compare.pm in @INC on AIX

While integrating SOA Suite 10g with Oracle Identity Management 10g, I came across some strange PERL errors, probably which pointed to the fact that some libraries were missing.

While running the osso1013 script, I tumbled upon these errors:

Can't locate File/Compare.pm in @INC (@INC contains: /project/as10g/src/shvaramb/perl58/perl58/bin/AIX/Opt/lib/5.8.3/aix-thread-multi /project/as10g/src/shvaramb/perl58/perl58/bin/AIX/Opt/lib/5.8.3 /project/as10g/src/shvaramb/perl58/perl58/bin/AIX/Opt/lib/site_perl/5.8.3/aix-thread-multi /project/as10g/src/shvaramb/perl58/perl58/bin/AIX/Opt/lib/site_perl/5.8.3 /project/as10g/src/shvaramb/perl58/perl58/bin/AIX/Opt/lib/site_perl . /u01/app/oracle/product/10.1.3/OracleAS_1/perl/site/5.8.3/lib /u01/app/oracle/product/10.1.3/OracleAS_1/perl/5.8.3/lib) at ./osso1013 line 67.
BEGIN failed--compilation aborted at ./osso1013 line 67.

The file (Compare.pm) in this case could be any other file. A quick cross check on the perl version tells me I'm using the latest one.

$ perl -version
This is perl, v5.8.2 built for aix-thread-multi
$ which perl
/usr/bin/perl

But, wait a second. Looks like I'm using the default perl supplied by the OS. Now, this is not supported by Oracle. According to the doc, it says that for every perl script you run within the Application Server Stack, you need to use the perl shipped with Application Server i.e. I should be using $OH/perl/bin/perl and not /usr/bin/perl.

Time for corrections then,

$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$ORACLE_HOME/perl/bin:$PATH
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ which perl
/u01/app/oracle/product/10.1.3/OracleAS_1/perl/bin/perl

I retried, but it failed again with the same errors! I could see the Compare.pm file somewhere under $OH/perl/lib but somehow the perl interpreter doesn't seem to pick it up. You can check the paths perl is picking up with "perl -V" command. (Remember the capital "V")

After a bit of googling n metalinking, I found the solution. This machine is an AIX box and for AIX the environment variable PERL5LIB has to be set.

Setting the variable PERL5LIB:

$ export PERL5LIB=$ORACLE_HOME/perl/lib/site_perl/5.8.3:$ORACLE_HOME/perl/lib/5.8.3

Note that the "5.8.3" could be any version (5.6.1 or something else).

That did the trick and I could register SSO successfully!