Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
Resolution:
Description:
===========
BusinessEvents (BE) reports database ORA-12899 errors (Post-RTC actions failed)
Environment:
===========
BE 3.0.2
All Operating Systems
Symptoms:
=========
Exception in BusinessEvents Logfile (inference agent).
Error [$default.be.mt$.Worker.0] - Failed writing to DB. Will re-try :java.sql.SQLException: ORA-12899: value too large for column "BEUSER"."D_CONCEPT1"."SYS_NC00026$" (actual: 336, maximum: 255)
Error [$default.be.mt$.Worker.0] - java.lang.RuntimeException: java.sql.SQLException: ORA-12899: value too large for column "BEUSER"."D_CONCEPT1"."SYS_NC00026$" (actual: 336, maximum: 255)
at com.tibco.be.oracle.BECoherenceOracleStore.saveTransaction(BECoherenceOracleStore.java:2575)
at com.tibco.be.oracle.BECoherenceOracleStore.saveTransaction(BECoherenceOracleStore.java:2545)
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransactionToDBWithRetry(RtcTrans
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransactionToDB(RtcTransactionMan
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.applyTransaction(RtcTransactionManager
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.RtcTransactionManager.publish(RtcTransactionManager.java:129
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.InferenceAgent.applyChanges(InferenceAgent.java:2583)
at com.tibco.cep.runtime.service.om.coherence.CoherenceStore.applyChanges(CoherenceStore.java:936)
at com.tibco.cep.kernel.core.base.WorkingMemoryImpl.processRecorded(WorkingMemoryImpl.java:408)
at com.tibco.cep.kernel.core.rete.ReteWM.executeRules(ReteWM.java:1354)
at com.tibco.cep.runtime.session.impl.RuleSessionImpl.preprocessPassthru(RuleSessionImpl.java:888)
at com.tibco.cep.runtime.service.om.coherence.cluster.agents.ClusterTaskController.executeTask(ClusterTaskController.java
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedController$WorkerTask.run(WorkerBasedController.java:317)
at com.tibco.cep.runtime.session.BEManagedThread.execute(BEManagedThread.java:459)
at com.tibco.cep.runtime.session.BEManagedThread.run_from_queue(BEManagedThread.java:401)
at com.tibco.cep.runtime.session.BEManagedThread.run(BEManagedThread.java:302)
Cause:
======
In BE 3.0.2 the default field length for a property is limited to 255 characters but the string length used in the project can be longer.
Resolution:
========
You have to change your database structure if the property should be larger.
The utilities be-oradeploy will set a larger value for the property in the database script when you change the string length in your project for the property (right click on the property --> Extended properties).
Update the backingstore or create a alter.sql script (be-oradeploy)
ALTER TYPE <type> MODIFY ATTRIBUTE "<attribute>" varchar2(<newLength>) INVALIDATE ;
Example::
ALTER TYPE T_test1 MODIFY ATTRIBUTE "prop1" varchar2(500) INVALIDATE ;