Filtering records based on before / after information

Rows can be ignored or discarded rather than sent to the database if before/after filters are used in the replicat. This can cause the amount of data to be sent to the database to be reduced if certain data is not changed. This is of use in high volume instances where not all row changes are useful.


 

There are two parts to filter setup.

First, on the Oracle side, supplemental logging has to be enabled for all the columns you are going to use in the target table. The up side of this is that you won’t need to check if a column is present with your function.

add trandata tab8811s cols ( name, city, state)


Second, you need to compare before and after images with @streq. Here is a sample:

 

REPLICAT r8811
reperror 21000, discard


SOURCEDEFS e:\gg\Teradata\DIRDEF\def8811.def
DISCARDFILE e:\gg\teradata\discards\r8811.txt, PURGE
GETUPDATEBEFORES

TARGETDB vmprime_mzerger, USERID mzerger, PASSWORD mzerger

— if name and city are both unchanged, do not replicate update

MAP mzerger.tab8811s
TARGET mzerger.tab8811t,
filter (
on update,
(
((1 = @streq (before.name, name)) ) AND
((1 = @streq (before.city, city)) )
),
raiseerror 21000
)
;

Sobre Alexandre Pires

ORACLE OCS Goldengate Specialist, OCE RAC 10g R2, OCP 12C, 11g, 10g , 9i e 8i - Mais de 25 anos de experiência na área de TI. Participei de projetos na G&P alocado na TOK STOK, EDINFOR alocado na TV CIDADE "NET", 3CON Alocado no PÃO DE AÇUCAR, DISCOVER alocado na VIVO, BANCO IBI e TIVIT, SPC BRASIL, UOLDIVEO alocado no CARREFOUR e atualmente na ORACLE ACS atendendo os seguintes projetos: VIVO, CLARO, TIM, CIELO, CAIXA SEGUROS, MAPFRE, PORTO SEGURO, SULAMERICA, BRADESCO SEGUROS, BANCO BRADESCO, BASA, SANTANDER, CNJ, TSE, ELETROPAULO, EDP, SKY, NATURA, ODEBRESHT, NISSEI, SICREDI, CELEPAR, TAM, TIVIT, IBM, SMILES, CELEPAR, SERPRO,OKI,BANCO PAN, etc
Esse post foi publicado em GOLDENGATE. Bookmark o link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s