2016-10-19 61 views
0

在goldengate我希望所有的複製只有在某個條件滿足時纔會發生,否則應該等到條件滿足爲止。Golden Gate複製條件

假設我有一個只有一行和一列'標誌'的表'T'。對於在目標數據庫中發生的每一次複製,我都希望確保只有當'Flag'的值爲'A'時纔會發生複製,否則複製應等到'Flag'的值變爲'A'。

我不確定是否有可能,請你幫助我,告訴我是否有可能,如何使之成爲可能。

回答

0

像過濾器這樣的東西可以爲此工作。

In extract - TABLE schema.T,FILTER(FLAG ='A');

您還應該確保過濾器中的任何列也位於重做日誌中,並且被Extract捕獲以獲得更快的性能。您可能還想將FLAG列添加到補充日誌組(使用ADD TRANDATA可以執行此操作),然後在Extract中使用LOGALLSUPCOLS。

尼克

0

可以使用條件過濾的提取過程本身,這樣你就不必提取和複製那些不匹配的條件的人。 你可以在評論(縣)中提到無論使用過濾器或者你可以在你的EXTRACT使用SQLPREDICATE

表schema.T,SQLPREDICATE 「WHERE FLAG = 'A'」;

使用SQLPREDICATE的好處是您可以使用複雜的SQL「WHERE」條件篩選要提取的數據。