Should have known better to check the certification matrix first.
OGG is not supported on 12c database. Tried hacking as much I as I could and decided it was not worth the effort.
Here are some errors and warning encountered.
ERROR OGG-00446 Oracle GoldenGate Capture for Oracle, ebidiaa.prm: Opening file +DATA1/CDB01/ONLINELOG/group_3.264.822253565 in DBLOGREADER mode: (1031) ORA-01031: insufficient privileges ERROR OGG-00665 Oracle GoldenGate Capture for Oracle, ebidiaa.prm: OCI Error describe for query (status = 1031-ORA-01031: insufficient privileges), SQL<SELECT o.obj# FROM sys.obj$ o, sys.user$ u, sys.tab$ t WHERE o.name = UPPER('OBJ$') AND o.owner# = u.user# AND u.name = UPPER('SYS') AND o.obj# = t.obj#>. ERROR OGG-01771 Oracle GoldenGate Capture for Oracle, ebidiaa.prm: DBOPTIONS DECRYPTPASSWORD must be used to decrypt data that is encrypted with Transparent Data Encryption. Otherwise, contact Oracle Support to use TRANLOGOPTIONS with _IGNORETSERECORDS to skip the capture of tables in an encrypted tablespace. WARNING OGG-01760 Oracle GoldenGate Capture for Oracle, ebidiaa.prm: Ignoring REDO records for encrypted tablespace. This could cause data integrity issues.
Instead, I started to test bidirectional replication for 220.127.116.11 on OEL 6.4 using ASM.
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE FORCE LOGGING;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Note: there were no database activities during the configuration.
Golden Gate Setup
(e)xtract, (p)ump extract, (r)eplicat group name is limited to 8 characters
# – group type
% – group name (bidi for bidirectional, call it anything)
@ – Site to site notation, i.e. a->b (ab) and b->a (ba)
SITE a: /u01/app/ggs01 (OGG install)
— Primary Extract to local trail aa
ADD EXTRACT ebidiaa, TRANLOG, BEGIN NOW
ADD EXTTRAIL /u01/app/ggs01/dirdat/aa, EXTRACT ebidiaa, MEGABYTES 500
— DataPump Extract reads from local trail aa; pump to remote trail ab
ADD EXTRACT pbidiab, EXTTRAILSOURCE /u01/app/ggs01/dirdat/aa
ADD RMTTRAIL /u01/app/ggs02/dirdat/ab, EXTRACT pbidiab, MEGABYTES 500
— Replicat from pump pbidiab
ADD REPLICAT rbidiba, EXTTRAIL /u01/app/ggs01/dirdat/ba
SITE b: /u01/app/ggs02 (OGG install)
— Primary Extract to local trail bb
ADD EXTRACT ebidibb, TRANLOG, BEGIN NOW
ADD EXTTRAIL /u01/app/ggs02/dirdat/bb, EXTRACT ebidibb, MEGABYTES 500
— DataPump Extract reads from local trail bb; pump to remote trail ba
ADD EXTRACT pbidiba, EXTTRAILSOURCE /u01/app/ggs02/dirdat/bb
ADD RMTTRAIL /u01/app/ggs01/dirdat/ba, EXTRACT pbidiba, MEGABYTES 500
— Replicat from pump pbidiab
ADD REPLICAT rbidiab, EXTTRAIL /u01/app/ggs02/dirdat/ab
The easy way to remember this is that pump extract from one site and replicat to another site
will always have the same group name, i.e. pbidiab->rbidiab and pbidiba->rbidiab
Alternatively, think of pump PK (primary key) and replicat as FK (referential key)
See Bidirectional Configurations for more details.
Create users ggs (system), gge (extract), ggr (replicat) for both sites. using ggs_setup.sql
Output log ggs_setup.log
Configure Site a
Configure site a, using config_site_a.oby (in OGG, obey script is synonymous to SQL script).
Output log config_site_a.log
Configure Site b
Create table and insert data at each site to verify replication.
Oracle GoldenGate database Schema Profile check script for Oracle DB (Doc ID 1296168.1)
Might be a good idea to run check against schema being replicated.