Search This Blog

Monday, December 5, 2011

EXCEPTION NOT HANDLED BY THE COLLAXA CUBE SYSTEM - ORA-01438

Applies to:

Oracle SOA Platform - Version: 11.1.1.3.0 and later [Release: 11gR1 and later ]
Information in this document applies to any platform.

Symptoms

The following exception is continuously logged in the SOA logs impacting performance of SOA composites
Error while invoking bean "cube delivery": Exception not handled by the Collaxa Cube system.[[
an unhandled exception has been thrown in the Collaxa Cube systemr; exception reported is: "ORABPEL-00000

Exception not handled by the Collaxa Cube system.
an unhandled exception has been thrown in the Collaxa Cube systemr; exception reported is: "java.sql.SQLDataException: ORA-01438: value larger than specified precision allowed for this column

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:83)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:135)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:210)

Cause

Issue caused by Bug 12621337 - ora-01438 on live_instances column

Solution

Bug 12621337 is still open and scheduled to be fixed in future release.Meanwhile, the following explanation and workaround is documented in the bug
The problem is with the precision of the column composite_instance.live_instances currently defined to be number(3) which can at the most hold a value up to 999. There is no explicit limitation on this column and so, the right way to handle this is to increase the precision of this column to accommodate more instance.

The workaround is to modify composite_instance.live_instances column precision to be number(38) in the soainfra schema.

1. Stop SOA domain
2. Login to SOA infra repository database as sysdba
3. Modify composite_instance table
For example:
ALTER TABLE
soa11g_soainfra.composite_instance
MODIFY
(
live_instances NUMBER(38)
)
;

4. Restart SOA domain

2 comments:

  1. I have change the value to 38 but I'm still getting the same error...should I change it to 999? setting the value to the maximum can create any other problems?

    Thanks

    ReplyDelete
    Replies
    1. You can try increasing this column size.It need not be 999. The upper limit is 999, but you can variy it and see what best fits for your use case.

      Regards,
      Moshe.S

      Delete