We're here to help!

What to do before you disable parameter ENABLE_GOLDENGATE_REPLICATION in Oracle database


The purpose of this article is to describe steps needed to be done before you'll disable parameter ENABLE_GOLDENGATE_REPLICATION in Oracle database. 

Documentation: https://dbvisit.atlassian.net/wiki/display/ugd8/Triggers; https://dbvisit.atlassian.net/wiki/display/ugd8/Bi-directional+considerations;  https://blogs.oracle.com/UPGRADE/entry/new_11_2_0_4; https://dbvisit.atlassian.net/wiki/display/ugd8/Configuration+Variable+Reference

When you would to disable parameter ENABLE_GOLDENGATE_REPLICATION In Oracle database you need to:

  1. Modify all triggers' code for replicated tables in target database(s) by workaround describe in https://dbvisit.atlassian.net/wiki/display/ugd8/Triggers.
  2. disable parameter "dbvrep> set APPLY.APPLY_SET_TRIGGER_FIRE_ONCE NO" in dbvisit console
  3. restart apply process


In case you miss steps above and changed Oracle's parameter ENABLE_GOLDENGATE_REPLICATION to false apply will crash with below error:

Dbvisit Replicate version 2.8.02_unreleased_167_g7ff0585_RQ_971
Copyright (C) Dbvisit Software Limited.  All rights reserved.
DDC file /home/oracle/msi/BIDIRECTORIAL/BIDI-APPLY.ddc loaded.
Starting process APPLY...started
FATAL-1651: Set trigger firing failed. Note that _APPLY_TFO_11202 requires Oracle Database dbms_streams_adm_utl_invok: ORA-06550: line 1, column 38:
PLS-00302: component 'SET_FOO_TRIGGER_SESSION_CONTXT' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored (DBD ERROR: error possibly near <*> indicator at char 37 in 'begin sys.dbms_streams_adm_utl_invok.<*>SET_FOO_TRIGGER_SESSION_CONTXT (fire=>true); end;') dbms_xstream_gg: ORA-26947: Oracle GoldenGate replication is not enabled.
ORA-06512: at "SYS.DBMS_XSTREAM_GG_INTERNAL", line 210
ORA-06512: at "SYS.DBMS_XSTREAM_GG", line 13
ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)
Trying to create support package now.
Packaging into ZIP file: /home/oracle/msi/BIDIRECTORIAL/log/dbvisit_support_dbvrep_BIDI_APPLYIj4R.zip for process APPLY, addinfo []

In error stack you can see dbvisit replicate parameter _APPLY_TFO_11202. Replicate remember which option worked and enable the respective "_APPLY_TFO*" parameter. When APPLY_TRIGGER_FIRE_ONCE is set to AUTO then, those hidden parameters remain set... Only setting APPLY_TRIGGER_FIRE_ONCE to NO reset them.

We recommend to set variables  _APPLY_TFO* to NO and start apply process. Second option is to change APPLY_TRIGGER_FIRE_ONCE to NO. But when you'd like to switch parameter APPLY_TRIGGER_FIRE_ONCE  back to AUTO or YES check parameters _APPLY_TFO* first. 


Key words: dbvisit; dbvisit replicate; Oracle; Oracle 12c; ENABLE_GOLDENGATE_REPLICATION; APPLY_TRIGGER_FIRE_ONCE; _APPLY_TFO_11202

Have more questions? Submit a request