In our test case, We have the production database which sends redo to the Active Data Guard. The actual goal is to configure golden gate from ADG to send data to the target site. But Golden Gate can’t work on Data Guard since it has to do some RW operations. In this situation we create another independent Downstream Capture Database. The ADG uses the Downstream database to write the standby redo logs and then Downstream database will archive those standby redo logs.
On this Downstream database we configure extract to read the data from SRL/Archives and then replicat will apply on the target database.
Tips & Tricks
- The downstream database DBID should not be same as primary or ADG. If in case you have duplicated the database from Primary/ADG to the Downstream then you can’t able to configure extract on this database. So you must create database using DBCA or Manually. You will face below error as DOWNSTREAM_REAL_TIME_MINE as an invalid parameter.
For example I’ve faced the below issue, because the downstream database i had cloned from the production which caused failure in enabling real time mining.
Primary Database
SQL> select dbid from v$database;
DBID
----------
255168521
SQL>
Downstream Capture Database
SQL> select dbid from v$database;
DBID
----------
255168521
SQL>
After that if you have the Extract parameter file as below:
EXTRACT MINCDC
TRANLOGOPTIONS MININGUSERALIAS mindb DOMAIN OracleGoldenGate
NOUSERID
FETCHUSERIDALIAS adgdb DOMAIN OracleGoldenGate
EXTTRAIL c1
TRANLOGOPTIONS HANDLEDLFAILOVER
TRANLOGOPTIONS INTEGRATEDPARAMS (DOWNSTREAM_REAL_TIME_MINE Y)
WARNLONGTRANS 1DAY CHECKINTERVAL 1HOUR
EXTTRAIL x1
TABLE PDB1.AVUKWEB.FINANCE;
If we start the extract then extract will be abended with below error.
2025-11-28 01:15:50 ERROR OGG-00662 OCI Error ORA-26764: invalid parameter "DOWNSTREAM_REAL_TIME_MINE" for local capture "OGG$CAP_MINCDC"
ORA-06512: at "SYS.DBMS_XSTREAM_GG_ADM", line 1056
ORA-06512: at "SYS.DBMS_XSTREAM_ADM", line 1593
ORA-06512: at "SYS.DBMS_LOGREP_UTIL", line 554
ORA-06512: at "SYS.DBMS_CAPTURE_ADM_IVK", line 873
ORA-06512: at "SYS.DBMS_XSTREAM_ADM", line 1582
ORA-06512: at "SYS.DBMS_XSTREAM_GG_ADM", line 1050
ORA-06512: at line 1
(status = 26764).
Now you must drop this database and create fresh database using DBCA or Manually.
Reference: Downstream capture extract abends : OGG-02032 and OGG-02042 OCI Error 26764. (Doc ID 2921640.1)
- Ensure Downstream Capture Database password file was copied from Primary/ADG. Even though the Downstream database is independent and not cloned from the Primary or ADG, we must copy the password file from Primary/ADG to the Downstream. This is to enable authentication to cascasde the redo.
- The parameters DB_NAME, DB_UNIQUE_NAME and GLOBAL_NAMES setttings should be different from the Primary and ADG.
- Uppdate the GLOBAL_NAME table with different value which should be unique(Please note that GLOBAL_NAMES is the initialization parameter & GLOBAL_NAME is the table)
SQL> UPDATE GLOBAL_NAME SET GLOBAL_NAME ='MINDB';
1 row updated.
SQL> commit;
Commit complete.
SQL>
This name will be used by the Golden Gate to connect to the Mining Database.
- The Extract will read the standby redo log files from the Downstream Capture Database but the extract you must register on Production Database. This will generate metadata and creates the Start SCN which helps in OGG for change data catpure.
OGG (http://192.168.100.42:9001 OGGDEPLOY as source@OGGDB1/CDB$ROOT) 91> register extract EXT_O database container (PDB1)
2025-12-01T03:22:54Z INFO OGG-02003 Extract group EXT_O successfully registered with database at SCN 5080842.
OGG (http://192.168.100.42:9001 OGGDEPLOY as source@OGGDB1/CDB$ROOT) 92> alter extract EXT_O scn 5080842
OGG (http://192.168.100.42:9001 OGGDEPLOY as source@OGGDB1/CDB$ROOT) 93>
If we observe above output the PDB name is PDB1, but in my Downstream Mining Database the PDB is MINDPB. This is mandatory step to register the extract only on production database.
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string mindb
db_unique_name string mindb
global_names boolean FALSE
instance_name string mindb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string MINDB
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 MINPDB READ WRITE NO
SQL>
If you missed any of these settings, probably you end up with challenges. I hope this blog post helps you to configure Downstream Capturing with no hassles.