Thursday, February 14, 2013

ORA-12899: Column too large or ESB_ACTIVITY table


In Oracle SOA Suite 10g, the ESBDT logs located under $ORACLE_HOME/soa_as_1/j2ee/oc4j_esbdt/log/oc4j_esbdt_esbdt_group_1_1/oc4j/log.xml threw the following error:
Caused by: java.sql.SQLException: ORA-12899: value too large for column "ORAESB"."ESB_ACTIVITY"."BPEL2ESBCONVID" (actual: 101,maximum: 100)
It turns out that the ESB_ACTIVITY.BPEL2ESBCONVID column is defined as VARCHAR2(100) and was set using the upgrade script $ORACLE_HOME/soa_as_1/integration/esb/sql/oracle/upgrade_10135_10135mlr_oracle.sql.

Here is an example of data populated in the conversation ID (BPEL2ESBCONVID) column:
As you can see, this column is 101 characters in length, hence violating the table definition.


1. Log in to the database as the ORAESB user.

2. Execute the following command to increase the column length:
ALTER TABLE esb_activity MODIFY (bpel2esbconvid varchar2(200));

Application versions:
  • Oracle SOA Suite 10g

  • Oracle Note ID 1343103.1

No comments: