<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Replicate and Oracle source: Invisible primary key – not recognized by replicate task in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-and-Oracle-source-Invisible-primary-key-not/ta-p/2449014</link>
    <description>&lt;P&gt;An Oracle table has a primary key that is defined as Invisible which the Qlik Replicate task does not use.&amp;nbsp;Qlik Replicate&amp;nbsp;is encountering errors when updating rows in a table from Oracle invisible primary keys (PKs).&lt;/P&gt;
&lt;P&gt;Message in the task log file:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;[TASK_MANAGER ]W: Table 'XYZ'.D_XYZ' (subtask 0 thread 1) is suspended. Failed to build 'where' statement; Failed to get update statement for table XYZ'.D_XYZ', stream position&amp;nbsp;00007776: 2024-03-22T06:52:46:484188 [ASSERTION ]V: 'UPDATE (3)' event of table XYZ'.D_XYZ' with id '2065373' does not contain all key values (0 from 1), stream position '00000792.a5e2a494.00000001.0008.01.0000:44682.246184.16' (streamcomponent.c:2984)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The primary key is correctly defined in both source and target Databases and the insert statements are correctly replicated.&lt;/P&gt;
&lt;P&gt;Excerpt from table DDL:&lt;/P&gt;
&lt;PRE&gt;CREATE TABLE XYZ.D_XYZ&lt;BR /&gt;(&lt;BR /&gt;MLOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(4 BYTE)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;MLDAY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NUMBER(6)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;NUM_SEQ&amp;nbsp; NUMBER INVISIBLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;&lt;BR /&gt;SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS&lt;BR /&gt;&lt;BR /&gt;ALTER TABLE XYZ.D_XYZ ADD (&lt;BR /&gt;CONSTRAINT NUM_SEQ_PK&lt;BR /&gt;PRIMARY KEY&lt;BR /&gt;(NUM_SEQ)&lt;BR /&gt;USING INDEX XYZ.NUM_SEQ_PK&lt;BR /&gt;ENABLE VALIDATE);&lt;/PRE&gt;
&lt;P&gt;We use the advanced setting '&lt;STRONG&gt;Support invisible&lt;/STRONG&gt;' columns.&lt;/P&gt;
&lt;P&gt;The task does not use the key even when the Configuration Parameter '&lt;SPAN&gt;&lt;STRONG&gt;Support invisible columns&lt;/STRONG&gt;'&amp;nbsp;&lt;/SPAN&gt;is set.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="support invisible columns.png" style="width: 910px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/166413i6DDBE5EF5D9EFFC8/image-size/large?v=v2&amp;amp;px=999" role="button" title="support invisible columns.png" alt="support invisible columns.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 id="toc-hId-163537141"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Resolution&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The table behaves as if there were no primary key at all and the task tries to build a where clause with all fields.&lt;/P&gt;
&lt;P&gt;In this case that did not work because the source table only had Primary Key logging enabled.&lt;/P&gt;
&lt;P&gt;To get this to work we enables ALL COLUMN supplemental logging on the source table and the task was able to build the correct where clause for updates.&lt;/P&gt;
&lt;H3 id="toc-hId-163537141"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Related Content&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://help.qlik.com/en-US/replicate/November2023/Content/Replicate/Main/Oracle/OralcleDB_source_AdvProps.htm#ar_oracleds_385117211_1678110" target="_self"&gt;Oracle Advanced connections Tab&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 20 May 2024 10:29:51 GMT</pubDate>
    <dc:creator>Michael_Litz</dc:creator>
    <dc:date>2024-05-20T10:29:51Z</dc:date>
    <item>
      <title>Qlik Replicate and Oracle source: Invisible primary key – not recognized by replicate task</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-and-Oracle-source-Invisible-primary-key-not/ta-p/2449014</link>
      <description>&lt;P&gt;An Oracle table has a primary key that is defined as Invisible which the Qlik Replicate task does not use.&amp;nbsp;Qlik Replicate&amp;nbsp;is encountering errors when updating rows in a table from Oracle invisible primary keys (PKs).&lt;/P&gt;
&lt;P&gt;Message in the task log file:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;[TASK_MANAGER ]W: Table 'XYZ'.D_XYZ' (subtask 0 thread 1) is suspended. Failed to build 'where' statement; Failed to get update statement for table XYZ'.D_XYZ', stream position&amp;nbsp;00007776: 2024-03-22T06:52:46:484188 [ASSERTION ]V: 'UPDATE (3)' event of table XYZ'.D_XYZ' with id '2065373' does not contain all key values (0 from 1), stream position '00000792.a5e2a494.00000001.0008.01.0000:44682.246184.16' (streamcomponent.c:2984)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The primary key is correctly defined in both source and target Databases and the insert statements are correctly replicated.&lt;/P&gt;
&lt;P&gt;Excerpt from table DDL:&lt;/P&gt;
&lt;PRE&gt;CREATE TABLE XYZ.D_XYZ&lt;BR /&gt;(&lt;BR /&gt;MLOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(4 BYTE)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;MLDAY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NUMBER(6)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;NUM_SEQ&amp;nbsp; NUMBER INVISIBLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL,&lt;BR /&gt;&lt;BR /&gt;SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS&lt;BR /&gt;&lt;BR /&gt;ALTER TABLE XYZ.D_XYZ ADD (&lt;BR /&gt;CONSTRAINT NUM_SEQ_PK&lt;BR /&gt;PRIMARY KEY&lt;BR /&gt;(NUM_SEQ)&lt;BR /&gt;USING INDEX XYZ.NUM_SEQ_PK&lt;BR /&gt;ENABLE VALIDATE);&lt;/PRE&gt;
&lt;P&gt;We use the advanced setting '&lt;STRONG&gt;Support invisible&lt;/STRONG&gt;' columns.&lt;/P&gt;
&lt;P&gt;The task does not use the key even when the Configuration Parameter '&lt;SPAN&gt;&lt;STRONG&gt;Support invisible columns&lt;/STRONG&gt;'&amp;nbsp;&lt;/SPAN&gt;is set.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="support invisible columns.png" style="width: 910px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/166413i6DDBE5EF5D9EFFC8/image-size/large?v=v2&amp;amp;px=999" role="button" title="support invisible columns.png" alt="support invisible columns.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 id="toc-hId-163537141"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Resolution&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The table behaves as if there were no primary key at all and the task tries to build a where clause with all fields.&lt;/P&gt;
&lt;P&gt;In this case that did not work because the source table only had Primary Key logging enabled.&lt;/P&gt;
&lt;P&gt;To get this to work we enables ALL COLUMN supplemental logging on the source table and the task was able to build the correct where clause for updates.&lt;/P&gt;
&lt;H3 id="toc-hId-163537141"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Related Content&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://help.qlik.com/en-US/replicate/November2023/Content/Replicate/Main/Oracle/OralcleDB_source_AdvProps.htm#ar_oracleds_385117211_1678110" target="_self"&gt;Oracle Advanced connections Tab&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2024 10:29:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-and-Oracle-source-Invisible-primary-key-not/ta-p/2449014</guid>
      <dc:creator>Michael_Litz</dc:creator>
      <dc:date>2024-05-20T10:29:51Z</dc:date>
    </item>
  </channel>
</rss>

