ORA-01461 After Migration From Database 11.2.0.3.0 To 11.2.0.4.0 (Doc ID 2019912.1)

Last updated on DECEMBER 28, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
Information in this document applies to any platform.
***Checked for relevance on 29-DEC-2016***

Symptoms

ORA-1461 occurred when executing INSERT statement with LONG RAW/BLOB column as target and long bind variable as assigned value, when table has complex VPD.

After migrating database from 11.2.0.3.0 to 11.2.0.4.0, the following issue was noticed:

• INSERT of a BLOB < 4K : SUCCESS
* Execute Insert.
* Insert successful.
* Stop Trace [ALTER SESSION SET EVENTS '10046 trace name context off']

• INSERT of a BLOB > 4K : FAILED
* Execute Insert.
java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
  at oracle.jdbc.driver.OraclePreparedSta

Environment
JDBC 11.2.0.3.0 or 11.2.0.4.0 or 12.1.0.2.0
Database 11.2.0.4.0

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms