How to Startup Replicate from a Backup DDC File

Problem Description

This article explains how to start the replicate processes using the backup DDC file

Solution

Every Dbvisit Replicate process started creates a backup ddc file in the ddc_backup directory, located in the "home" of your replication configuration. For example:

[oracle@dbvrep01 REPPOC]$ pwd /home/oracle/REPPOC [oracle@dbvrep01 REPPOC]$ ls -ltr ddc_backup/ total 32 -rw-rw-rw- 1 oracle oinstall 12379 Apr 29 15:44 REPPOC.MINE_20150429154447.ddc -rw-rw-rw- 1 oracle oinstall 12493 May 1 21:52 REPPOC.MINE_20150501215252.ddc

The good thing is that you can pick a backup file from any machine in your configuration, as they are all equivalent. Of course, you should look to use the most recent file possible.

To start the "process" in question simply use:

--ddcfile ddc_backup/....(latest).ddc

So, for example, if I am attempting to start the MINE process in lieu of a missing/corrupt MINE ddc file then I could do the following:

  • Locate the most recent backup ddc file I have:

    [oracle@dbvrep01 REPPOC]$ ls -ltr ddc_backup/ total 32 -rw-rw-rw- 1 oracle oinstall 12379 Apr 29 15:44 REPPOC.MINE_20150429154447.ddc -rw-rw-rw- 1 oracle oinstall 12493 May 1 21:52 REPPOC.MINE_20150501215252.ddc
  • Adjust the MINE start process command to invoke this backup file:

  • Execute this to start the MINE process:

It is also possible to use a backup ddc file for MINE from the target (APPLY) server - and vice versa.

So here I locate the most recent ddc backup on the target server and scp this to the ddc_backup directory on the source:

Adjust the MINE start process command to invoke this backup file. Note: The APPLY name does not matter as the backup files contain the settings for all processes:

Then execute the following to start the MINE process:

Note

This is good only if it is only the DDC database which is not available. MINE will of course still need source to be available in order to run; APPLY needs both source and target.

This is good if you have a ddc on A and you want B=>C to be up and running.

And of course, if you set a new value of a variable, it does not update the ddc file on disk (similar to attempting to update an SPFILE when a DB is started from init.ora).

Mike Donovan May 01, 2015 23:28