Given my short lived memory, I decided to write down things which I do repeatedly at my work and can't help forgetting. This blog is all about that.
Tuesday, October 5, 2010
Failed to initialize the application bea_wls_internal – Weblogic Cluster
Invalid xsi:type qname: wsrp:wsrp-identity-asserterType – Weblogic Portal
Native version is enabled but node manager native library could not be loaded
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
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!
Saturday, June 5, 2010
Changing hostname/IP for Weblogic 11g
Recently I had to migrate two VMs hosting SOA/WebCenter 11g respectively from our US centers to India centers. This involved change in the hostname/IP of the two servers. Now the process is already documented @http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/host.htm#CHDGEDCF.
But as is with all documents, not everything is documented!
The startManagedServer.sh script has the URL of the AdminServer hard-coded. So you have to change that too. Having done this, start the nodemanager.
When you start your nodemanager, you might encounter the below error (in the AdminServer logfile):
BEA-090504 - Certificate chain received from localhost - 127.0.0.1 failed hostname verification check. Certificate contained xyz.abc.com but check expected localhost
OR
BEA-090482 - BAD_CERTIFICATE alert was received from localhost.localdomain - 127.0.0.1. Check the peer to determine why it rejected the certificate chain (trusted CA configuration, hostname verification). SSL debug tracing may be required to determine the exact reason the certificate was rejected.
There are two ways to solve it.
1. Disable Flags - Jugaad way ;)
Put the following flags at the right places.
Node Manager: -Dweblogic.nodemanager.sslHostNameVerificationEnabled=false
Admin Server: -Dweblogic.security.SSL.ignoreHostnameVerification=true
2. Recreate the Certificates - The recommended way.
Node manager by default uses the WebLogic demo identity keystore. The keystore is generated at install time using the CertGen utility. The generated private key uses the common name (cn) resolved by Java.
2.1 Set the PATH
. $WL_HOME/server/bin/setWLSEnv.sh
2.2 Backup DemoIdentity.jks under $WL_HOME/server/lib
2.3 Generate the private key.
java utils.CertGen -cn -keyfilepass DemoIdentityPassPhrase -certfile newcert -keyfile newkey
2.4 Import the key generated above to the keystore.
java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile newkey.pem -keyfilepass DemoIdentityPassPhrase -certfile newcert.pem -alias demoidentity
2.5 Copy DemoIdentity.jks to $WL_HOME/server/lib
2.6 Restart your nodemanager.
That's it !