12c new feature identity column not yet support with Goldengate 12.2 / 12c

The 12c new feature “identity columns” are not yet support with Goldengate 12.2 / 12c.
The failure to replicate the new “identity” type will not be logged – anywhere.  The issue is only identified by running GoldenGate Integrated Extract Healthcheck script, found in MOS article 1448324.1 – but that means you have to be pro-active.
So, if you want to replicate a table – bottom line at least for now – don’t use “identity” columns…
Instead do it the old fashion way with a sequence, a trigger and primary key as follows in this simple example:
Note: integrated capture and integrated replicat must be setup (param files shown later) to propagate DDL.
As the user HR:

CREATE TABLE dept (
ID NUMBER(10) NOT NULL,
DESCRIPTION VARCHAR2(50) NOT NULL);
ALTER TABLE dept ADD (
CONSTRAINT dept_pk1 PRIMARY KEY (ID));
CREATE SEQUENCE dept_seq START WITH 1;
Trigger definition:
CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON dept
FOR EACH ROW
BEGIN
SELECT dept_seq.NEXTVAL
INTO :new.id
FROM dual;
END;
/

Goldengate param files used to propagate DDL version 12.2 – should work with some previous versions of GoldenGate – for you to vett.
# on the source side – with ./ggsci

edit params extract1
EXTRACT extract1
USERID ggadmin PASSWORD ggadmin
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
DDL INCLUDE MAPPED
EXTTRAIL /u01/app/oracle/product/12.2.0/gg122/dirdat/in
SEQUENCE hr.*;
TABLE hr.*;
edit params dpump
EXTRACT dpump
USERID ggadmin, PASSWORD ggadmin
RMTHOST o68-122db.localdomain, MGRPORT 7809
RMTTRAIL /u01/app/oracle/product/12.2.0/gg122/dirdat/rt
PASSTHRU
TABLE HR.*;
# on the target side
edit params rep1
REPLICAT rep1
ASSUMETARGETDEFS
USERID ggadmin, PASSWORD ggadmin
DISCARDFILE /u01/app/oracle/product/12.2.0/gg122/discards, PURGE
MAP HR.*, TARGET HR.*;
 

 

Leave a Comment

Scroll to Top