When you add a new participant to an existing replicate,
you can unload and load data without replication.
Procedure
To add a new participant to an existing replicate
- Add the server delta to the Enterprise Replication
domain.
For example:
cdr def ser -c delta -I -S g_alpha g_delta
At the end of this step, all servers in the replication environment
include information in the syscdr database about delta,
and delta has information about all other servers.
- Add delta as
a participant to replicate zebra.
For example:
cdr cha rep -a zebra "P dbname@g_delta:owner.table1" \
"select * from table1"
This step updates the replication
catalog. The servers alpha, beta, and gamma do
not queue any qualifying replication data for delta because
the replicate on delta, although defined, has not been started.
- Suspend server delta on alpha, beta,
and gamma.
cdr sus ser g_delta g_alpha g_beta g_gamma
As
a result of this step, replication data is queued for delta,
but no data is delivered.
- Start replication for replicate zebra on delta.
cdr sta rep zebra g_delta
This step
causes servers alpha, beta, and gamma to start
queuing data for delta. No data is delivered to delta because delta is
suspended. Then, delta queues and delivers qualifying data
(if any) to the other servers.
Do not run any transactions on delta that
affect table table1 until you finish the synchronization process.
- Unload data from table table1 using
the UNLOAD statement.
- Copy the unloaded data to delta.
- Start transactions with BEGIN WORK WITHOUT REPLICATION,
load the data using the LOAD statement, and commit the transactions.
- Resume server delta on alpha, beta,
and gamma.
cdr res ser g_delta g_alpha g_beta g_gamma
This step starts the flow of data from
alpha,
beta,
and
gamma to
delta.
At this point, you might see
some transactions aborted because of conflict. Transactions can abort
because alpha, beta, and gamma started queuing
data from delta in step 4. However, those same transactions
might have been moved in steps 5 and 7.
Results
You must declare replication on server delta and
then immediately suspend replication because, while you are preparing
the replicates and unloading and loading files, the other servers
in the replicate (alpha, beta, and gamma) might
be collecting information that needs to be replicated. After you finish
loading the initial data to delta and resume replication, the
information that was generated during the loading process can be replicated.