2016-10-19 36 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”条件筛选要提取的数据。