B Troubleshooting Oracle SOA Suite

This appendix describes how to troubleshoot issues you can encounter when using Oracle SOA Suite.

This appendix includes the following topics:

B.1 Resolving Message Failure Caused By Too Many Open Files

You can receive the following error at run time or compilation time, depending on the number of JAR files being used, the use of file descriptors by JDK 6/JRE, or both.

Message send failed: Too many open files 

To resolve this error, increase the number of file descriptors to at least 4096.

  1. Use the limit command (for the C shell) or the ulimit command (for the Bash shell) to identify the value for descriptors. A value of 1024 is typically too low, especially for JDK 6.

    % limit
    
    cputime      unlimited
    filesize     unlimited
    datasize     unlimited
    stacksize    10240 kbytes
    coredumpsize unlimited
    memoryuse    unlimited
    vmemoryuse   unlimited
    descriptors  1024
    memorylocked 500000 kbytes
    maxproc      46720
    
  2. Log in as the root user on your operating system.

  3. Edit the /etc/security/limits.conf file to increase the value for descriptors.

    For this example, the limits.conf file looks as follows after increasing the limit for all users to 4096:

    #<domain>      <type>  <item>         <value>
    #
    
    #*               soft    core            0
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #@student        -       maxlogins       4
    
    # End of file
    @svrgroup    soft    memlock         500000
    @svrgroup    hard    memlock         500000
    *           soft    nofile          4096
    *           hard    nofile          4096
    
  4. Close your terminal and reopen for the change to take effect. A system restart is not required.

B.2 Extending Tablespaces to Avoid Problems at Run Time

If the database tablespace is not extended, run time processing can be impacted. Messages are not processed or persisted, and exception errors similar to the following can appear in the log files. This is because Oracle BPEL Process Manager relies on the database to store instance data. If the database is not available, run-time processing is impacted.

INFO: MediatorServiceEngine returning after processing the request for 
operation = processResponse 

[EL Warning]: 2009.01.14 11:46:16.783--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 

Error Code: 1691 
Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.AuditTrail@199b33d) 
[EL Warning]: 2009.01.14 11:46:16.782--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 
. . .
. . .

Ensure that you set a tablespace to automatically extend itself by a specified amount when it reaches its size limit. If you do not enable autoextend, ensure that you respond when alerted that the tablespace is reaching its critical or warning threshold size. You can respond to size alerts by manually increasing the tablespace size.

B.3 Resolving Connection Timeouts

You can receive a connection timeout error under circumstances such as the following:

  • You run a SOA composite application with a large payload that takes more than 30 seconds to process.

  • You are invoking a stress test using a large payload from the Test Web Service page of Oracle Enterprise Manager Fusion Middleware Control Console.

  • You are passing a large number of message files (one million) into a composite with a file adapter service.

To avoid receiving timeout errors, increase the transaction timeout property as follows:

  1. Log into Oracle WebLogic Administration Console.

  2. Click JTA.

  3. Change the value of Timeout Seconds (the default is 30).

  4. Click Save.

  5. Restart Oracle WebLogic Server.