Tuesday, December 6, 2016

Adding a schema to an active SharePlex configuration

In this post I'll address how to add a new schema to an active SharePlex configuration. This procedure doesn't require you to recreate your entire replication topology. It can be used to push data from one or more schemas in your source database to an existing or new target database. It can also be used to add replication for a schema that you're already replicating to a new target.
This post assumes some familiarity with SharePlex and an understanding of the basic architecture, filesystem layout and terminology. Examples are from an installation of SharePlex 8.6.2 on RHEL 6.6 replicating an Oracle 11.2.0.4 SE database, but should be applicable to other versions as well.

Overview

There are a handful of steps to be performed:
  • Copy the active configuration to a new file
  • Edit and validate the new configuration
  • Synchronize the new objects
  • Activate the new configuration

Copy the active configuration

Never edit an active configuration file! Instead, use the sp_ctrl utility to make a copy of the configuration:
copy config prod_config1 to prod_config2

Edit the new configuration

Still working within sp_ctrl, edit the configuration with:
edit config prod_config2
This will open an editor window where you can make changes to your configuration. At this point you'll be able to add new schemas or targets to replication.
When complete, save the changes and validate the configuration:
verify config prod_config2
It's very important that the file is verified as valid:
sp_ctrl (crbstgspx:2100)> verify config prod_config2

Config prod_config2 is valid
View detailed config in /u01/splex/var/temp/prod_config2

And not:
Verified config file too large to display
...which indicates an issue in the configuration that needs to be addressed. Absence of an actual error or warning message is a little misleading here.

Synchronize the new objects

Export or otherwise copy the newly added objects to the target database. I'll cover methods for this in a separate post.

Activate the new configuration

Activate the new configuration through sp_ctrl:
activate config prod_config2