ORA-26688: missing key in lcr (Doc ID 345119.1)

Last updated on MAY 07, 2017

Applies to:

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

Symptoms

Missing Key in LCR indicates that one or more of the key columns required for the apply process are missing.
One way to identify which column is causing the error when apply_parallelism> 1 is to enable apply tracing (trace_level=2560) and watch the apply process trace files (reader trace file).
The following query displays the current setting for each apply process
parameter for each apply process in a database:

Connect strmadmin/strmadmin

COLUMN APPLY_NAME HEADING 'Apply Process|Name' FORMAT A15
COLUMN PARAMETER HEADING 'Parameter' FORMAT A25
COLUMN VALUE HEADING 'Value' FORMAT A20
COLUMN SET_BY_USER HEADING 'Set by User?' FORMAT A15

SELECT APPLY_NAME,
PARAMETER,
VALUE,
SET_BY_USER
FROM DBA_APPLY_PARAMETERS;


<Check Parallelism Value>

EXEC DBMS_APPLY_ADM.STOP_APPLY('<apply name>');
execute DBMS_APPLY_ADM.SET_PARAMETER(‘apply process name’,’trace_level’,’2560’);
EXEC DBMS_APPLY_ADM.EXECUTE_ALL_ERRORS;
EXEC DBMS_APPLY_ADM.START_APPLY('<apply name>');

 

For example, the reader trace file showed the following:

knalfGenRowHashValues: ERR.: 26688 
Missing key in lcr 
Table: "CT"."CASE_DOCK", Index# 50762,
Columns: ("CASE_NBR", "DOCK_CODE", "DT_ACTION", "DT_EFFECTIVE", 
"DT_ENTERED", "DT_UPDATED", "NPT_IND","PERSON_NBR", 
"PROCESSED_IND", "SEALED_IND", "SEQ_NBR", "SUPPRESS_IND", 
"USER_ID") is missing: "PROCESSED_IND" 

 

To turn off tracing: 
BEGIN
dbms_apply_adm.set_parameter(
apply_name => '<APPLY_NAME>',
parameter => 'trace_level',
value => 0);
END;

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