zoukankan      html  css  js  c++  java
  • OGG-01008 Extract displays Discarding bad record (discard recs=1) when using filter or where clause

    因为在extract參数文件里使用了where语句,而where后面的的条件列又不是主键,没有为update、delete操作记录日志,因此会报1008错误。


    Applies to:

    Oracle GoldenGate - Version 10.0.0.1 and later
    Information in this document applies to any platform.

    Symptoms

     

    1. I am using filter or where clause in extract parameter file and the column is not a part of primary or unique key

    2.Update and delete operations are not captured and following warning message is logged to discard file and ggserr.log file

    Cause

     

    By default, When trandata is added, for a Oracle database supplemental logging is enabled only for primary key columns. If a column other than primary key column is used in FILTER or WHERE clause, then that column needs to be logged for update and delete operations.

    By default, In OGG deletes are COMPRESSDELETES, it causes Extract to write only the primary key value to the trail, for delete operations.                                                                                             

    So the column will not be logged for update or delete operations, which will make the extract discard the update/delete operations as bad records to discard file, due to missing field
    For Non-Oracle databases, updates are compressed updates, it logs only key column used by extract to trail.

    Solution

    For Oracle database


    1. Enter into ggsci

    2. Stop the extract

    3. Delete trandata <schema>.<table_name>

    4. Add trandata <schema>.<table_name>, nokey, cols (col1, col2)
    where col1 is the primary key column and col2 is the column included in filter clause.

    5. Add the following parameter to extract parameter file. By default, it is compressed deletes.

    NOCOMPRESSDELETES

    6. Restart the extract

    For Non-Oracle database (DB2 LUW,  DB2 z/OS, Teradata version 12 or later,  SQL Server, Sybase)

    1. Enter into ggsci

    2. Stop the extract  

         ggsci>stop extract <extract-name>

    3. Add the following parameter to extract parameter file

    NOCOMPRESSUPDATES
    NOCOMPRESSDELETES

     

    4. Restart the extract and retest the issue

    Note :Upcoming updates and delete operations will work fine. The records captured so far does not have the value logged in archive log file for the column used in FILTER clause.
    Also if the filter clause is used in replicat parameter file but  not in extract. The replicat may ignore those records without any warning or error messages. Solution is same as above 






  • 相关阅读:
    POJ 3710 Christmas Game#经典图SG博弈
    POJ 2599 A funny game#树形SG(DFS实现)
    POJ 2425 A Chess Game#树形SG
    LeetCode Array Easy 122. Best Time to Buy and Sell Stock II
    LeetCode Array Easy121. Best Time to Buy and Sell Stock
    LeetCode Array Easy 119. Pascal's Triangle II
    LeetCode Array Easy 118. Pascal's Triangle
    LeetCode Array Easy 88. Merge Sorted Array
    ASP.NET MVC 学习笔记之 MVC + EF中的EO DTO ViewModel
    ASP.NET MVC 学习笔记之面向切面编程与过滤器
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4033727.html
Copyright © 2011-2022 走看看