My Oracle Support Banner

ORA-23605 reported by the Streams Apply when replicating a > 4K BLOB column and using an Add_Column Transformation (Doc ID 1483264.1)

Last updated on FEBRUARY 19, 2019

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.5.0 to 11.1.0.7 [Release 10.2 to 11.1]
Information in this document applies to any platform.

Symptoms

Streams Apply process fails with ORA-23605 for LCRs which contain LOB column values greater than 4K in size.

The source table has a BLOB column in it and a declarative transformation which adds a column to the table and specifies the new column value as 'OLD'. In addition to that the added column is part of a primary key on the target table.

On printing the transaction there is an old value in a LOB WRITE LCR which corresponds to the column added in the declarative transformation as detailed below

STRMADMIN@rbmlq4 > exec print_transaction('<TRANSACTION_ID>');

----- Local Transaction ID: <TRANSACTION_ID>

----- Source Database: <SOURCE_DB_NAME>

----Error in Message: 3

----Error Number: 23605

----Message Text: ORA-23605: valor inválido "" para o parâmetro STREAMS

command_type

--message: 3

type name: SYS.LCR$_ROW_RECORD

source database: <SOURCE_DB_NAME>

owner: <OWNER>

object: <TABLE_NAME>

is tag null: Y

command_type: LOB WRITE

old(1): <OLD COLUMN3 VALUE> <<<<<<<<<<<<<<<<<<<< Problem old column value which should not be present

30

new(1): <NEW COLUMN1 VALUE>

5405

new(2): <NEW COLUMN2 VALUE>

BLOB Value

new(3): <NEW COLUMN3 VALUE>

30

This is also confirmed from the apply trace in which you get

knllrvalint: ORA-23605 LOB_WRITE should have zero old cols

AND non-zero new columns


Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.