Support Article
ORA-12899 value too large for column error on commit
SA-39780
Summary
Administrators observe Oracle commit errors (ORA-12899) intermittently when work objects are being committed to the database.
Error Messages
.pyCommitError.** ** ORA-12899: value too large for column "PEGA_DATA2"."TABLENAME"."PROPERTYCOLUMN" (actual:66, maximum:64)
Steps to Reproduce
1. Have an exposed column for a 64 character property, which is defined in the database table as a VARCHAR2(64).
2. Observe an intermittent pyCommit error when attempting to commit data to this table - typically when using special characters.
Root Cause
This issue occurs when the Oracle NLS_LENGTH_SEMANTICS parameter is set to BYTE (the default) instead of CHAR. This means that Oracle allows for a maximum of 64 bytes in the column, however if multi-byte characters are used then the property value might be within the 64 character limit imposed by Pega but exceed the Oracle 64 byte limit.Resolution
Set the NLS_LENGTH_SEMANTICS parameter to CHAR to avoid this issue. Alternatively, override the global NLS_LENGTH_SEMANTICS for the specific column by declaring it as a VARCHAR2(64 CHAR).
Published August 26, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.