All;
I need to exclude deletes transactions as part of a purge from propagating to another system. I can not use IGNOREDELETES because normal processing will include deletes.
I have tried the following but it is not working. Any ideas are greatly appreciated.
CREATE TABLE DUMMYSCHEMA.DUMMY_TEST(COL1 VARCHAR(20), COL2 VARCHAR(20);
-- extract
TABLE DUMMYSCHEMA.DUMMY_TEST, TOKEN(TK_DBUSER = @GETENV ('TRANSACTION', 'USERNAME'));
-- pump
TABLE DUMMYSCHEMA.DUMMY_TEST, FILTER ( @STREQ ( @TOKEN ('TK_DBUSER') , 'TEST_DEL_ACCOUNT' ) = 0 ) ;
-- replicat
MAP DUMMYSCHEMA.DUMMY_TEST, TARGET DUMMYSCHEMA.DUMMY_TEST, FILTER ( @STREQ ( @TOKEN ('TK_DBUSER') , 'TEST_DEL_ACCOUNT' ) = 0 );
Updated parameter files. Stopped / started each piece.
sqlplus TEST_DEL_ACCOUNT/TEST_DEL_ACCOUNT
-- source
INSERT INTO DUMMYSCHEMA.DUMMY_TEST(COL1, COL2) VALUES ('DEL_TEST','DEL_TEST');
COMMIT;
SELECT * on both sides. -- new row present on both.
-- source
DELTE FROM DUMMYSCHEMA.DUMMY_TEST WHERE COL1 = 'DEL_TEST';
COMMIT;
SELECT * on both sides. -- row deleted on both.