We're here to help!

How to add CDC/Audit (Event Streaming) replication on the table which is already a part of the replication

Follow
Problem Description

 The Change Data Capture(CDC)/Audit function will be renamed to Event Streaming in 2.9.02

  Source server Target server
Hostname dbvlin216 dbvlin217
OS type Linux Linux
Database SID SRCDB TGTDB
Replicated table SCOTT.ZD9304 SCOTT.ZD9304

You have a running replication on some list of tables

dbvrep> list prepare
List of prepared schemas:
none
List of prepared tables:
DBVREPX4.DBRSCOMMON_HEARTBEAT -> DBVREPX4 (schema rename)
DBVREPX4.DBRSOBJ$ -> DBVREPX4 (schema rename)
DBVREPX4.DBRSUSER$ -> DBVREPX4 (schema rename)
SCOTT.ZD9304 (DDL)

dbvrep> list progress
Progress of replication X4: total/this execution
--------------------------------------------------------------------------------------------------------------------------------------------
SCOTT.ZD9304:                 100%  Mine:1/1             Unrecov:0/0         Applied:1/1         Conflicts:0/0       Last:31/05/2016 21:31:57/OK
--------------------------------------------------------------------------------------------------------------------------------------------
1 table listed.

 

Steps Performed

Backup you current configuration

dbvrep> show SCRIPT
*.SETUP_SCRIPT_PATH = 
APPLY.SETUP_SCRIPT_PATH = /home/oracle/X4
MINE.SETUP_SCRIPT_PATH = /home/oracle/X4

On source

oracle@dbvlin216[/home/oracle]: tar -czf X4.tar.gz ./X4


On target

oracle@dbvlin217[/home/oracle]: tar -czf X4.tar.gz ./X4


Add tns alias to tnsnames.ora on both source & target

TGTDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbvlin217)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TGTDB)
    )
  )
TGTDBCDC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbvlin217)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TGTDB)
    )
  )


Shutdown MINE & APPLY

dbvrep> shutdown all


Re-run setup wizard in dbvrep console, accept current settings and add 3rd database configured in tnsnames.ora

dbvrep> setup wizard
[...]
Step 1 - Describe databases
========================================
The first step is to describe databases used in the replication. There are usually two of them (source and target).

Following databases are now configured:
1: Oracle SRCDB, SYS/***, SYSTEM/***, dbvrepx4/***, USERS/TEMP, dbvrepx4/, ASM:No, TZ: +00:00
2: Oracle TGTDB, SYS/***, SYSTEM/***, dbvrepx4/***, USERS/TEMP, dbvrepx4/, ASM:No, TZ: +00:00

Enter the number of the database to modify it, or "add", or "done": [done] add
Let's configure the database, describing its type, connectivity, user names etc.
                                                                                                                                                     
What type of database is this? (Oracle/MySQL/Google Cloud SQL/SQL Server/Oracle AWS RDS/CSV/Hadoop): [Oracle]
                                                                                                                                                     
Please enter database TNS alias: [] TGTDBCDC
                                                                                                                                                     
Please enter SYSDBA user name: [SYS]
Please enter password for this user: [change_on_install] *******
                                                                                                                                                     
Please enter user with DBA role: [SYSTEM]
Please enter password for this user: [manager]

Connecting to database TGTDBCDC as SYSTEM to query list of tablespaces and to detect ASM (by looking whether any redo logs or archived logs are
stored in ASM).

Enter the Dbvisit Replicate owner (this user will be created by this script): [dbvrep] dbvrepx4cdc
Please enter password for this user: [dbvpasswd]

Permanent tablespaces detected on the database: EXAMPLE, PILOT, STREAMS_TBS, USERS.
                                                                                                                                                     
Please enter default permanent tablespace for this user: [EXAMPLE] USERS

Temporary tablespaces detected on the database: TEMP.
                                                                                                                                                     
Please enter default temporary tablespace for this user: [TEMP]

Following databases are now configured:
1: Oracle SRCDB, SYS/***, SYSTEM/***, dbvrepx4/***, USERS/TEMP, dbvrepx4/, ASM:No, TZ: +00:00
2: Oracle TGTDB, SYS/***, SYSTEM/***, dbvrepx4/***, USERS/TEMP, dbvrepx4/, ASM:No, TZ: +00:00
3: Oracle TGTDBCDC, SYS/***, SYSTEM/***, dbvrepx4cdc/***, USERS/TEMP, dbvrepx4cdc/, ASM:No, TZ: +00:00

Enter the number of the database to modify it, or "add", or "done": [done]


Now add 2nd replication pair

Step 2 - Replication pairs
========================================
The second step is to set source and targets for each replication pair.

Following replication pairs are now configured:
1: SRCDB (Oracle) ==> TGTDB (Oracle), DDL: Yes, fetcher: No, process suffix: (no suffix), compression: No, encryption: No, network timeout: 60,
prepare type: single-scn, data load: none
                                                                                                                                                     
Enter number of replication pair to modify it, or "add", or "done": [done] add
Let's configure the replication pair, selecting source and target.
Following databases are described:
1: SRCDB (Oracle)  
2: TGTDB (Oracle)  
3: TGTDBCDC (Oracle)  
                                                                                                                                                     
Select source database: [1]
                                                                                                                                                     
Select target database: [3]
                                                                                                                                                     
Will DDL replication be enabled? (Yes/No) [Yes] no
                                                                                                                                                     
Use fetcher to offload the mining to a different server? (Yes/No) [No]
                                                                                                                                                     
Should where clauses (and change auditing) include all columns, not just changed and PK? (Yes/No) [No]
                                                                                                                                                     
Would you like to encrypt the data across the network? (Yes/No) [No]
                                                                                                                                                    
 Would you like to compress the data across the network? (Yes/No) [No]

How long do you want to set the network timeouts. Recommended range between 60-300 seconds [60]
Lock and copy the data initially one-by-one or at a single SCN?
one-by-one : Lock tables one by one and capture SCN
single-scn : One SCN for all tables
ddl-only   : Only DDL script for target objects
resetlogs  : Use SCN from last resetlogs operation (standby activation, rman incomplete recovery)
no-lock    : Do not lock tables. Captures previous SCN of oldest active transaction. Requires pre-requisite running of pre-all.sh script             
(one-by-one/single-scn/ddl-only/resetlogs/no-lock) [single-scn] ddl-only                                                                 

What data instantiation script to create?
dp_networklink : Data Pump with network link. No export datafile is created (APPLY.sh)
dp_exp         : Data Pump with export datafile. Creates an export datafile (APPLY.sh)
exp            : Pre-datapump exp/imp with export datafile (APPLY.sh)
ddl_file       : DDL file created (APPLY.sql)
ddl_run        : DDL is automatically executed on target
load           : All replicated data is created and loaded automatically
none                                                                                                                                                 
(dp_networklink/dp_exp/exp/ddl_file/ddl_run/load/none) [ddl_file]

Following replication pairs are now configured:
1: SRCDB (Oracle) ==> TGTDB (Oracle), DDL: Yes, fetcher: No, process suffix: (no suffix), compression: No, encryption: No, network timeout: 60,
prepare type: single-scn, data load: none
2: SRCDB (Oracle) ==> TGTDBCDC (Oracle), DDL: NO, fetcher: No, process suffix: 1, compression: No, encryption: No, network timeout: 60, prepare
type: ddl-only, data load: ddl_file
                                                                                                                                                     
Enter number of replication pair to modify it, or "add", or "done": [done]


Leave the list of replicated tables empty for 2nd replication pair.

Step 3 - Replicated tables
========================================
The third step is to choose the schemas and tables to be replicated. If the databases are reachable, the tables are checked for existence, datatype
support, etc., schemas are queried for tables. Note that all messages are merely hints/warnings and may be ignored if issues are rectified before
the scripts are actually executed.

Following tables are defined for replication pairs:
1: SRCDB (Oracle) ==> TGTDB (Oracle), DDL: Yes, suffix: (no suffix), prepare: single-scn
  SCOTT.ZD9304
2: SRCDB (Oracle) ==> TGTDBCDC (Oracle), DDL: NO, suffix: 1, prepare: ddl-only
  No tables defined.
                                                                                                                                                    
Enter number of replication pair to modify it, or "done": [2] done


Reuse MINE and configure APPLY1

Step 4 - Process configuration
========================================
The fourth step is to configure the replication processes for each replication.

Following processes are defined:
1: MINE on SRCDB
  Host: dbvlin216.dbvisit.co.nz, SMTP: No, SNMP: No
2: APPLY on TGTDB
  Host: dbvlin217.dbvisit.co.nz, SMTP: No, SNMP: No
3: MINE1 on SRCDB
  Not configured.
4: APPLY1 on TGTDBCDC
  Not configured.

Enter number of process to modify it, or "done": [3]
This database is source for already configured replication mine processes: MINE
                                                                                                                                                     
Reuse other mine process to do the work for this process (recommended)? Enter mine process name or leave blank to not reuse. [] MINE

Following processes are defined:
1: MINE on SRCDB
  Host: dbvlin216.dbvisit.co.nz, SMTP: No, SNMP: No
2: APPLY on TGTDB
  Host: dbvlin217.dbvisit.co.nz, SMTP: No, SNMP: No
3: MINE1 on SRCDB
  Not used, work done by MINE.
4: APPLY1 on TGTDBCDC
  Not configured.

Enter number of process to modify it, or "done": [4]
Fully qualified name of the server for the process (usually co-located with the database, unless mine is offloaded using fetcher):                   
[dbvlin217.dbvisit.co.nz]                                                                                                          
                                                                                                                                                     
Server type (Windows/Linux/Unix): [Linux]
                                                                                                                                                     
Enable email notifications about problems? (Yes/No) [No]
                                                                                                                                                    
 Enable SNMP traps/notifications about problems? (Yes/No) [No]
                                                                                                                                                     
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/X4]

Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[APPLY_REMOTE_INTERFACE]: Network remote interface: dbvlin217.dbvisit.co.nz:7904
[APPLY_DATABASE]: Database TNS: TGTDBCDC
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/db_1/network/admin
[APPLY_STAGING_DIR]: Directory for received plogs: /home/oracle/X4/apply1
[LOG_FILE]: General log file: /home/oracle/X4/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/X4/log/trace/dbvrep_%N_%D_%I_%U.%E

Checking that these settings are valid...

Do you want to change any of the settings? [No]

Following processes are defined:
1: MINE on SRCD
  Host: dbvlin216.dbvisit.co.nz, SMTP: No, SNMP: No
2: APPLY on TGTDB
  Host: dbvlin217.dbvisit.co.nz, SMTP: No, SNMP: No
3: MINE1 on SRCDB
  Not used, work done by MINE.
4: APPLY1 on TGTDBCDC
  Host: dbvlin217.dbvisit.co.nz, SMTP: No, SNMP: No
                                                                                                                                                    
 Enter number of process to modify it, or "done": [done]

 

Confirm and let setup wizard generate files.

Do not run *-all.sh and exit from dbvrep console

Edit *-all.sh and delete/comment lines affecting SRCDB and TGTDB.

oracle@dbvlin216[/home/oracle/X4]: vim X4-all.sh


From this

echo Configure database SRCDB...
echo 'manager' | sqlplus -S 'SYS@SRCDB as sysdba' @/home/oracle/X4/config/X4-dbsetup_SRCDB_dbvrepx4.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Configure database TGTDB...
echo 'manager' | sqlplus -S 'SYS@TGTDB as sysdba' @/home/oracle/X4/config/X4-dbsetup_TGTDB_dbvrepx4.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Configure database TGTDBCDC...
echo 'manager' | sqlplus -S 'SYS@TGTDBCDC as sysdba' @/home/oracle/X4/config/X4-dbsetup_TGTDBCDC_dbvrepx4cdc.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Object grants for database SRCDB...
echo 'manager' | sqlplus -S SYSTEM@SRCDB @/home/oracle/X4/config/X4-grants_SRCDB_dbvrepx4.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Object grants for database TGTDB...
echo 'manager' | sqlplus -S SYSTEM@TGTDB @/home/oracle/X4/config/X4-grants_TGTDB_dbvrepx4.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Object grants for database TGTDBCDC...
echo 'manager' | sqlplus -S SYSTEM@TGTDBCDC @/home/oracle/X4/config/X4-grants_TGTDBCDC_dbvrepx4cdc.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Setting up the configuration
/usr/bin/dbvrep --ddcfile /home/oracle/X4/config/X4-onetime.ddc @/home/oracle/X4/config/X4-setup.dbvrep
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

cat /home/oracle/X4/Nextsteps.txt
echo The above list is stored in /home/oracle/X4/Nextsteps.txt.


To this

echo Configure database TGTDBCDC...
echo 'manager' | sqlplus -S 'SYS@TGTDBCDC as sysdba' @/home/oracle/X4/config/X4-dbsetup_TGTDBCDC_dbvrepx4cdc.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Object grants for database TGTDBCDC...
echo 'manager' | sqlplus -S SYSTEM@TGTDBCDC @/home/oracle/X4/config/X4-grants_TGTDBCDC_dbvrepx4cdc.sql
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

echo Setting up the configuration
/usr/bin/dbvrep --ddcfile /home/oracle/X4/config/X4-onetime.ddc @/home/oracle/X4/config/X4-setup.dbvrep
if [ $? -ne 0 ]; then echo "Error encountered, not starting Dbvisit Replicate."; return 1; fi

cat /home/oracle/X4/Nextsteps.txt
echo The above list is stored in /home/oracle/X4/Nextsteps.txt.


Edit config/*-setup.dbvrep script and delete lines working with MINE-APPLY pair (keep MINE-APPLY1 only)

oracle@dbvlin216[/home/oracle/X4]: vim config/X4-setup.dbvrep


It will look like

#clear the no-DDC-DB-available warning
process clear previous warnings
set ON_WARNING SKIP
set ON_ERROR EXIT

# Configuring non-default processes
choose process MINE
choose process APPLY1
PROCESS SWITCH_REDOLOG
PROCESS SETUP APPLY DROP DICTIONARY
PROCESS SETUP APPLY CREATE DICTIONARY
PROCESS SETUP APPLY LOAD DICTIONARY
PROCESS PREPARE_DP SETUP CLEAR
PROCESS SETUP PAIR MINE AND APPLY
SET APPLY1.INSTANTIATE_SCN NOW
EXCLUDE CREATE TABLE %.DBMS_TABCOMP_TEMP_UNCMP #Ignore tables created by Compression Advisor
EXCLUDE CREATE TABLE %.DBMS_TABCOMP_TEMP_CMP #Ignore tables created by Compression Advisor
EXCLUDE CREATE TABLE %.SCHEDULER$_% #Ignore tables created by Oracle scheduler (also used by schema/full expdp/impdp)
EXCLUDE CREATE TABLE %.CMP1$% #Ignore tables created by Compression Advisor since 11.2.0.4
EXCLUDE CREATE TABLE %.CMP2$% #Ignore tables created by Compression Advisor since 11.2.0.4
EXCLUDE CREATE TABLE %.CMP3$% #Ignore tables created by Compression Advisor since 11.2.0.4
EXCLUDE CREATE TABLE %.CMP4$% #Ignore tables created by Compression Advisor since 11.2.0.4
memory_set IGNORE_APPLY_DDL_DIFFERENCES Yes
PROCESS SWITCH_REDOLOG
PROCESS WAIT_SCN_FLIP

#prepare the tables (we use OFFLINE as neither MINE nor APPLY is running; with OFFLINE we won't wait on network timeout)
PROCESS SWITCH_REDOLOG
#prepare script for instantiation
PROCESS PREPARE_DP WRITE DDL_FILE FILE /home/oracle/X4/APPLY1.sql USERID SYSTEM/manager@SRCDB
create ddcdb from ddcfile
set ON_WARNING SKIP
set ON_ERROR SKIP


Now execute *-all.sh

oracle@dbvlin216[/home/oracle/X4]: ./X4-all.sh
Setting up Dbvisit Replicate configuration
Configure database TGTDBCDC...

This check fails if the DBID is not the expected one..
[…]
8) Start the console to monitor the progress:
/home/oracle/X4/start-console.sh

The above list is stored in /home/oracle/X4/Nextsteps.txt.


Connect to target database and grant necessary grant to create triggers

SQL> grant create trigger to dbvrepx4cdc;
Grant succeeded.

Connect as repository owner

CDC* columns are used by CDC/Audit (Event Streaming) replication

SQL> conn dbvrepx4cdc
Enter password:
Connected.
SQL> desc dbrsapply_dict_tables Name Null? Type ----------------------------------------- -------- ---------------------------- DDC_ID NOT NULL NUMBER MINE_PROCESS_NAME NOT NULL VARCHAR2(240) APPLY_PROCESS_NAME NOT NULL VARCHAR2(240) SOURCE_OBJECT_ID NOT NULL NUMBER RENAME_SCHEMA_NAME VARCHAR2(30) RENAME_TABLE_NAME VARCHAR2(30) APPLY_FILTER_COND_INSERT VARCHAR2(1000) APPLY_FILTER_COND_UPDATE_PRE VARCHAR2(1000) APPLY_FILTER_COND_UPDATE_POST VARCHAR2(1000) APPLY_FILTER_COND_DELETE VARCHAR2(1000) INSTANTIATION_SCN NUMBER VALID_FROM_SCN NOT NULL NUMBER VALID_TO_SCN NOT NULL NUMBER CREATE_DATE DATE LAST_CHANGE_DATE DATE CDCAUDIT_INSERT CHAR(1) CDCAUDIT_UPDATE CHAR(1) CDCAUDIT_DELETE CHAR(1) CDCAUDIT_OLDCOL_PREFIX VARCHAR2(30) CDCAUDIT_NEWCOL_PREFIX VARCHAR2(30) CDCAUDIT_OPCOL VARCHAR2(100) CDCAUDIT_XIDCOL VARCHAR2(100) CDCAUDIT_TIMESTAMP_CHANGE VARCHAR2(100) CDCAUDIT_TIMESTAMP_COMMIT VARCHAR2(100) CDCAUDIT_SID VARCHAR2(100) CDCAUDIT_SERIAL VARCHAR2(100) CDCAUDIT_CUSER VARCHAR2(100) CDCAUDIT_LUSER VARCHAR2(100) CDCAUDIT_CLIINFO VARCHAR2(100) CDCAUDIT_OSUSER VARCHAR2(100) CDCAUDIT_MACHINE VARCHAR2(100) CDCAUDIT_OSTERM VARCHAR2(100) CDCAUDIT_OSPROC VARCHAR2(100) CDCAUDIT_OSPROG VARCHAR2(100) CDCAUDIT_SCN VARCHAR2(100) CDCAUDIT_XIDNAME VARCHAR2(256)


Now you create trigger modifying columns you want to collect by CDC/Audit (Event Streaming) replication

SQL> create or replace trigger CDC_9304_PATCH
before insert or update on dbrsapply_dict_tables
for each row
begin
 if :new.RENAME_TABLE_NAME is not null then
    :new.CDCAUDIT_INSERT     :='Y';
    :new.CDCAUDIT_UPDATE   :='Y';
    :new.CDCAUDIT_DELETE    :='Y';
    :new.CDCAUDIT_OLDCOL_PREFIX := 'OLD$';
    :new.CDCAUDIT_NEWCOL_PREFIX :='NEW$';
    :new.CDCAUDIT_OPCOL :='OPERATION';
    :new.CDCAUDIT_TIMESTAMP_CHANGE :='DATE_CHANGE';
    :new.CDCAUDIT_SCN :='SCN';
 end if;
end;
/  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16  

Trigger created.


Get MINE_UNIQUE_ID

dbvrep> show uniq
*.MINE_UNIQUE_ID = 
APPLY.MINE_UNIQUE_ID = 118BE44E-2712-11E6-9F2D-34F131C2BED8
MINE.MINE_UNIQUE_ID = 118BE44E-2712-11E6-9F2D-34F131C2BED8


Generate cdc.dbvrep script file which will prepare CDC/Audit (Event Streaming) on your tables

process clear previous warnings
set ON_WARNING SKIP
set ON_ERROR SKIP


choose process MINE
choose process APPLY1
PROCESS SWITCH_REDOLOG
PROCESS PREPARE_DP SETUP CLEAR
# set correct unique id you got in previous step
SET APPLY1.MINE_UNIQUE_ID = 118BE44E-2712-11E6-9F2D-34F131C2BED8
memory_set IGNORE_APPLY_DDL_DIFFERENCES Yes
PROCESS SUPPLEMENTAL LOGGING TABLE "SCOTT"."ZD9304" ENABLE PRIMARY KEY
PROCESS SWITCH_REDOLOG
PROCESS WAIT_SCN_FLIP

#prepare the tables (we use OFFLINE as neither MINE nor APPLY is running; with OFFLINE we won't wait on network timeout)
PREPARE OFFLINE TABLE "SCOTT"."ZD9304" NODDL RENAME TO "SCOTT"."ZD9304_CDC"
#CDC/Audit settings
CDCAUDIT TABLE "SCOTT"."ZD9304" INSERT Yes
CDCAUDIT TABLE "SCOTT"."ZD9304" DELETE Yes
CDCAUDIT TABLE "SCOTT"."ZD9304" UPDATE YES
CDCAUDIT TABLE "SCOTT"."ZD9304" OLDCOL_PREFIX OLD$
CDCAUDIT TABLE "SCOTT"."ZD9304" NEWCOL_PREFIX NEW$
CDCAUDIT TABLE "SCOTT"."ZD9304" OPCOL OPERATION
CDCAUDIT TABLE "SCOTT"."ZD9304" SCN SCN
CDCAUDIT TABLE "SCOTT"."ZD9304" TIMESTAMP_CHANGE DATE_CHANGE

PROCESS SWITCH_REDOLOG
#prepare script for instantiation
PROCESS PREPARE_DP WRITE DDL_FILE FILE /home/oracle/X3/APPLY1.sql USERID SYSTEM/manager@SRCDBa

set ON_ERROR EXIT


Run created cdc.dbvrep script

dbvrep> @cdc.dbvrep


Review APPLY1.sql and execute it against target database

oracle@dbvlin216[/home/oracle/X4]: cat APPLY1.sql 
set define off
DROP TABLE "SCOTT"."ZD9304_CDC" cascade constraints;
CREATE TABLE "SCOTT"."ZD9304_CDC" (
  OLD$ID NUMBER,
  NEW$ID NUMBER,
  OPERATION CHAR,
  DATE_CHANGE DATE,
  SCN NUMBER);
grant select, update, insert, delete on "SCOTT"."ZD9304_CDC" to dbvrepx4cdc;
oracle@dbvlin216[/home/oracle/X4]: sqlplus system/manager@tgtdb @APPLY1.sql


Copy configuration files across your environment and start replication

oracle@dbvlin216[/home/oracle]: scp -r X4 dbvlin217:/home/oracle/


On target

oracle@dbvlin217[/home/oracle/X4]: ./X4-run-dbvlin217.dbvisit.co.nz.sh 
Initializing......done
[...]
DDC file /home/oracle/X4/X4-APPLY.ddc loaded.
Starting process APPLY...started
Initializing......done
[...]
DDC file /home/oracle/X4/X4-APPLY1.ddc loaded.
Starting process APPLY1...Created directory /home/oracle/X4/apply1
started


On source

oracle@dbvlin216[/home/oracle/X4]: ./X4-run-dbvlin216.dbvisit.co.nz.sh

 

Now it is done

Have more questions? Submit a request

Comments

  • Avatar
    Rainier Kaczmarczyk

    Hi Jan,

    how does the table SCOTT.ZD9304 look like? So I can see the difference to SCOTT.ZD9304CDC.

    If I want to add another table to the replication: do I see it correctly: I do not have to run the wizard again. I should start with a new cdc.dbvrep? Correct?

    Thanks, Rainier