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 18.104.22.168 [Release 10.2 to 11.1]
Information in this document applies to any platform.
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
type name: SYS.LCR$_ROW_RECORD
source database: <SOURCE_DB_NAME>
is tag null: Y
command_type: LOB WRITE
old(1): <OLD COLUMN3 VALUE> <<<<<<<<<<<<<<<<<<<< Problem old column value which should not be present
new(1): <NEW COLUMN1 VALUE>
new(2): <NEW COLUMN2 VALUE>
new(3): <NEW COLUMN3 VALUE>
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
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