My Oracle Support Banner

ORA-26786 On Logical Standby After Upgrade To 12.2 (Doc ID 2492009.1)

Last updated on DECEMBER 25, 2019

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 11.2 to 12.2]
Information in this document applies to any platform.


Logical standby fails with ORA-026786 after upgrade from to
It happened at two different systems in one week - each time on different tables.

SELECT * FROM (SELECT To_Char(event_time,'DD-MM-YYYY hh24:mi') "TIME",EVENT,status FROM dba_logstdby_events ORDER BY event_time DESC) WHERE ROWNUM < 2 ;

       TIME                                 EVENT                                                              STATUS
----------------       ------------------------------------------------         ----------------------------------------
01-11-2018 10:24 update "<owner name>"."<table name>"           ORA-26786: A row with key ("K1") = (<value>) exists but has conflicting 
                           set "C1" = '<value 1>',                                       column(s) "<column name>" in table <owner name>.<table name>
                           "<C2>" = '<value 2>', 
                           "<C3&parent=EXTERNAL_SEARCH" rel="nofollow" = '<value 3>',
                           "<C4>" = '<value 4>'
                           ROWID = 'AAAdd+AAhAAAA/ZAAC'/* ROWID
                           refers to the ROWID at the source database */

Common part is that SQL Apply is checking for "null" value in column which have "not null" constraint.
In the example above in "where" clause you have condition "<column name>" IS NULL, but this column does not allow null values.

The issue happens again even after rebuilding the logical standby database.


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

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