000031737 - 'ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion' error in Change Request Account Changes in RSA Identity Governance & Lifecycle

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support on Apr 9, 2020
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000031737
Applies ToRSA Product Set: RSA Identity Governance & Lifecycle 
RSA Version/Condition: 6.x, 7.0.x, 7.1.0
 
IssueNew user provisioning fails and the following error is seen in the Account Changes section of the change request:
 
ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 4210, maximum: 4000)
22835. 00000 - "Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: %s, maximum: %s)"

*Cause: An attempt was made to convert CLOB to CHAR or BLOB to RAW, where
the LOB size was bigger than the buffer limit for CHAR and RAW

 

User-added image


The aveksaServer.log file ($AVEKSA_HOME/wildfly/standalone/log/aveksaServer.log) reports errors similar to the following:


11/09/2015 07:57:13.200 ERROR (http-0.0.0.0-8080-6) [com.aveksa.gui.components.table.special.SQLTable]
Error getting Object List.  SQL=select * from (select AV_DATA_ROWS.*,
rownum AV_DATA_ROW_NUMBER from (select * from (select pcrd.ID,


The following exception is subsequently thrown in the aveksaServer.log:



com.aveksa.server.db.PersistenceException: Executing JDBC query failed
[select * from (select AV_DATA_ROWS.*, rownum AV_DATA_ROW_NUMBER from (select * from (select pcrd.ID,


followed by the Caused by message:



Caused by: java.sql.SQLException:
ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 5081, maximum: 4000)



Please refer to RSA Knowledge Base Article 000030327 -- Artifacts to gather in RSA Identity Governance & Lifecycle to find the location of the aveksaServer.log for your specific deployment if you are on a WildFly cluster or a non-WildFly platform. The aveksaServer.log may also be downloaded from the RSA Identity Governance & Lifecycle user interface (Admin > System > Server Nodes tab > under Logs.)

CauseThe ORA-22835 exception occurs when a SQL TO_CHAR statement attempts to convert a CLOB object to a CHAR object and the CLOB object exceeds 4000 bytes. The 4000 byte limit is a hard limit and is not configurable. ORA-22835 is a new exception; in older (Oracle 10.x and earlier) versions of Oracle SQL, if the BLOB object was too large, the object would be truncated without any error message.

When this error occurs during an AFX provisioning event, it is caused by an attempt to convert the SQL statement used to define the attributes to be added to the user. This can occur if the Account Template used to define the user contains a very large number of user attributes.

Note that the number of attributes you can add before encountering this error depends on the size of the SQL used to define them so there is no hard limit. 

This is a known issue reported in engineering ticket ACM-56836.
 
ResolutionThis issue is resolved in RSA Identity Governance & Lifecycle 7.1.1.
 
WorkaroundReduce the number of user attributes and/or the length of the attribute names defined in the Account Template (Requests > Configuration > Account Templates tab) associated with the Account until the error no longer occurs.

Attachments

    Outcomes