Tchater maintenant avec le support
Tchattez avec un ingénieur du support

SharePlex 12.0 - Administration Guide

About this Guide Conventions used in this guide Overview of SharePlex Run SharePlex Run multiple instances of SharePlex Execute commands in sp_ctrl Set SharePlex parameters Configure data replication Configure replication to and from a container database Configure named queues Configure partitioned replication Configure replication to a change history target Configure a replication strategy Configure DDL replication Configure error handling Configure data transformation Configure security features Assign SharePlex users to security groups Start replication on your production systems Monitor SharePlex Prevent and solve replication problems Repair out-of-sync data Tune the Capture process Tune the Post process Recover replication after Oracle failover Make changes to an active replication environment Apply an Oracle application patch or upgrade Back up Oracle data on the source or target Troubleshooting Tips Appendix A: Peer-To-Peer Diagram Appendix B: SharePlex environment variables

Frequently Asked Questions about activation

What happens during activation?

During activation, SharePlex gets the information it needs to identify and understand the objects that are configured for replication and build routing maps. For more information, see What is Activation?.

How long does activation take?

The length of time that activation takes varies, depending on the size, number and structure of the configured objects.

Do users have to stop access to the data?

An Oracle database can remain available for transactions. Each source table is briefly locked so SharePlex can build its internal object information. Then the lock is released. This happens very quickly and may not even be noticeable by users. However, if a business application has NOWAIT locking, the SharePlex lock may cause the application to fail if it attempts to obtain a lock on an object that is being activated.

Can DDL be performed during activation?

No. The definition of objects cannot be changed during activation.

Can I activate multiple configurations for the same datasource?

Yes. You can create different configurations for the same datasource. You must use multiple instances of SharePlex (different sp_cop processes and variable-data directories, running on different ports). See Run Multiple Instances of SharePlex

Can I activate configurations for different datasources at the same time?

Yes. For more information, see How to Activate Multiple Configuration Files.

Can I test a configuration before I activate it?

Yes. This is highly recommended. Use the verify config command. For more information, see Requirements for Activating a Configuration.

Can I interrupt an activation to make changes?

No. Activation is meant to be an uninterrupted procedure that initiates replication while maintaining the same series of transactional events as those appearing in the redo log. You can use the abort config command to terminate an activation, but you may then need to clean out the queues and resynchronize the source and target data again. Ideally, you should have a tested configuration file ready to be activated and be prepared to issue commands to the database and to SharePlex.

Can I activate against a quiet database?

Yes. A quiet database is optional to activate Oracle capture. The Oracle database must be mounted and open, however.

Can I increase the number of activation threads?

Yes, but only for an Oracle source. The number of threads is controlled globally by the SP_OCF_THREAD_COUNT parameter, which must be set before you issue the activate config command. You can override this value for a particular activation by using the threads option when you issue the activate config command.

How to activate multiple configuration files

You can activate one configuration per datasource on a system. For example, if there are ConfigA, ConfigB and ConfigC for the same datasource, you can activate only one of them at a time. Activating another configuration for the same datasource automatically deactivates the first one.

However, if ConfigA replicates data from one datasource, while ConfigB replicates data from a different datasource, you can activate both of those configurations at the same time. Replication for those configurations can operate concurrently.

To activate multiple configuration files:

The activation process retains control of the sp_ctrl interface until the activation is finished. Because an activation can take a significant amount of time, you can activate different configurations in different sessions of sp_ctrl. Activate the first configuration, then open another session of sp_ctrl to activate the second one. Open as many sessions of sp_ctrl as you have configurations to activate.

The number of activation threads can be controlled for an Oracle source. To set the number of threads, use the SP_OCF_THREAD_COUNT parameter, which is a global setting for the instance of SharePlex. When activating more than one configuration concurrently, you can override this value for a particular activation by using the threads option when you issue the activate config command.

Activate replication with an Oracle hot backup on an active database

Use this procedure to use an Oracle hot backup to establish a target Oracle instance and activate replication without quieting the source database. This procedure involves using the reconcile command to ensure that transactions which occurred after the point of backup are applied to the target, while eliminating redundant replicated transactions that were already captured by the backup.

Preliminary considerations

Read these points before you proceed.

Supported databases

Oracle source and Oracle target

Supported replication strategies

All replication strategies are supported with the following limitations:

Limitation applies to: Description
Consolidated replication (many sources to one target)

To establish consolidated replication, the use of a hot backup from all source systems is not possible. A backup from one source will override the data that was applied by a backup from a different source. You can use a hot backup of one of the source instances to establish a target instance, and then use another copy method to apply the objects from the other source instances. Possible methods include:

Peer-to-peer

To establish peer-to-peer replication, you must:

  1. Quiet all of the systems except the trusted source system for the duration of this procedure.
  2. Move all users to the trusted source system, and then follow this procedure.

Only after this procedure has been performed on all of the secondary systems may users may resume activity on them.

Windows systems To use a hot backup between Windows systems, the target system must have an instance already created containing an identical ORACLE_SID and directory structure created with the Oracle creation tools. Oracle runs as a service on Windows, and the Registry entries must exist before starting the database recovery process. The database can start empty, because the hot backup will populate it.

Requirements

  • [Unix and Linux systems] Verify that the ORACLE_SID and ORACLE_HOME in the oratab file are correct for the instance you will be establishing with the hot backup. The SID must be the SID used in the routing map in the configuration file that you will be activating.
  • Read the requirements before you start this procedure. For more information, see Requirements for Activating a Configuration.
  • Make certain a SharePlex database account exists in the source database (only). This account usually is created when SharePlex first is installed. See the SharePlex Installation and Setup Guide for more information.
  • Before you start, review this procedure and see theSharePlex Reference Guide for more information about the commands that are used.

Troubleshooting

If the configuration fails to activate, you can find information about the failure in these places:

  • Use the show log command to view the event_log.
  • View the activation process log, which is a file named SID_oconf##.log in the log sub-directory of the SharePlex variable data directory.

See also Solve database setup problems for Oracle.

Procedures

There are two procedures for activation with a hot backup, depending on your replication strategy.

Activation with hot backup: all strategies except cascading

Activation with hot backup: cascading replication

Activation with hot backup: all strategies except cascading

Use this procedure for all replication strategies except cascading replication where SharePlex will be posting to a database on the intermediary system.

Perform the following steps to activate with hot backup for all strategies except cascading:

  1. On the source and target systems, go to the bin sub-directory of the SharePlex product directory, and start sp_cop and sp_ctrl. In a cluster, the source is the primary node where the cluster VIP is running.
  2. On both systems, verify that the SharePlex processes are running.

    sp_ctrl> status

  3. On the target system (primary node of a target cluster), stop the Post process. This allows replicated data to accumulate in the post queue until the database has been recovered and reconciled.

    sp_ctrl> stop post

  4. On the source system, run the Oracle hot backup.
  5. When the backup is finished, activate the configuration on the source system.

    sp_ctrl> activate config filename

  6. On the source system, monitor activation status.

    Note: The command retains control of sp_ctrl until activation is finished.

  7. When activation is complete, switch log files on the source system.

    On-premises database:

    svrmgr1> alter system switch logfile;

    Amazon RDS database:

    Run the Amazon RDS procedure rdsadmin.rdsadmin_util.switch_logfile.

  8. Do one of the following:

    • To recover the database to a sequence number, make a note of the highest archive-log sequence number.

    • To recover the database to a Oracle System Change Number (SCN), pick an SCN to recover to on the target database.
  9. On the target system, do one of the following:

    • If recovering to a sequence number, recover the database from the hot backup using the UNTIL CANCEL option in the RECOVER clause, and cancel the recovery after Oracle has fully applied the log from the previous step.
    • If recovering to a SCN, recover the database from the hot backup using the UNTIL CHANGE scn option in the RECOVER clause, and cancel the recovery after Oracle has applied the logs matching the SCN from the previous step.
  10. On the target system, open the database with the RESETLOGS option.
  11. On the target system, run Database Setup for Oracle on the database. When prompted for the SharePlex database user, enter n to choose the existing user and password (these were copied in the backup).

    Would you like to create a new SharePlex user [y]. n

    NoteS:

  12. [Optional] If you are using named post queues and are unsure of the queue names, issue the qstatus command.

    sp_ctrl> qstatus

  13. On the target system, issue the reconcile command as follows, depending on the recovery option you chose. If you are using named post queues, issue the command for each one.

    • If recovering to a sequence number, substitute the sequence number of the log that you noted previously.

      sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number

      Example: reconcile queue SysA for o.oraA-o.oraA seq 1234

    • If recovering to a SCN, substitute the SCN that you noted previously.

      sp_ctrl> reconcile queue queuename for datasource-datadest scn scn_number

      Example: reconcile queue SysA for o.oraA-o.oraA scn 0123456789

      Note: The command retains control of sp_ctrl until the reconcile process is finished.

  14. On the target system, run the cleanup.sql script to truncate the SharePlex internal tables. Instructions for running this script are in the SharePlex Reference Guide.
  15. On the target system, disable triggers on the tables, or run the sp_add_trigger.sql utility script so that the triggers ignore the SharePlex user.
  16. On the target system, disable check constraints and scheduled jobs that perform DML.
  17. [Partitioned replication only] If you are using vertically partitioned or horizontally partitioned replication for any tables, delete the unneeded columns and rows from those tables.
  18. [High availability only] On the target (secondary) system, stop Export.

    sp_ctrl> stop export

  19. [High availability and peer-to-peer only] On the target (secondary) system, activate the configuration so that SharePlex is ready in the event of failover.

    sp_ctrl> activate config filename

  20. On the target system, start the Post process. The two instances are now in synchronization, and SharePlex will continue replicating to maintain synchronization.

    sp_ctrl> start post

  21. [Optional] If this was only a partial backup, drop the tablespaces that were not copied over during the hot backup.
Activation with hot backup: cascading replication

Use this procedure for cascading replication where SharePlex will be posting to a database on the intermediary system.

You will apply the backup to the intermediary system first (represented as “sysB”), and then to the target system (represented as “sysC”).

Perform the following steps to activate with hot backup for cascading replication:

  1. On all systems, go to the bin sub-directory of the SharePlex product directory, and start sp_cop and sp_ctrl
  2. On all systems, verify that the SharePlex processes are running.

    sp_ctrl> status

  3. On the intermediary and target systems, stop the Post process. This allows replicated data to accumulate in the post queue until the databases are recovered.
  4. sp_ctrl> stop post

  5. On the source system, run the Oracle hot backup to the intermediary and target systems.
  6. When the backup is finished, activate the configuration on the source system.

    sp_ctrl> activate config filename

  7. On the source system, view activation status.

    Note: The command retains control of sp_ctrl until activation is finished.

  8. When activation is complete, switch log files on the source system.

    On-premises database:

    svrmgr1> alter system switch logfile;

    Amazon RDS database:

    Run the Amazon RDS procedure rdsadmin.rdsadmin_util.switch_logfile.

  9. Make a note of the highest archive-log sequence number.
  10. On the intermediary system, recover the database from the hot backup using the UNTIL CANCEL option in the RECOVER clause, and cancel the recovery after Oracle has fully applied the log from the previous step.
  11. On the intermediary system, open the database with the RESETLOGS option.
  12. On the intermediary system, run Database Setup on the database. When prompted for the SharePlex database user, enter n to choose the existing user and password (these were copied in the backup).

    Would you like to create a new SharePlex user [y]. n

    Notes:

  13. [Optional] If you are using named post queues and are unsure of the queue names, issue the qstatus command.

    sp_ctrl> qstatus

  14. On the intermediary system, issue the reconcile command for each post queue. For seq sequence_number, substitute the sequence number of the log that you noted previously.

    sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number

    Example: reconcile queue SysA for o.oraA-o.oraA seq 1234

  15. On the intermediary system, run the cleanup.sql script to truncate all of the SharePlex internal tables. Instructions for running this script are in the SharePlex Reference Guide.

  16. On the intermediary system, disable triggers on the tables, or run the sp_add_trigger.sql utility script so that the triggers ignore the SharePlex user.
  17. On the intermediary system, disable check constraints and scheduled jobs that perform DML.
  18. On the intermediary system, set the SP_OCT_REPLICATE_POSTER parameter to 1. This directs SharePlex to capture posted changes on that system and replicate them to the target system.

    sp_ctrl> set param SP_OCT_REPLICATE_POSTER 1

  19. [Partitioned replication only] If you are using vertically partitioned or horizontally partitioned replication for any tables, delete the unneeded columns and rows from those tables.

    Important! Do not start any Post processes yet.

  20. On the target system, recover the database from the hot backup using the UNTIL CANCEL option in the RECOVER clause, and cancel the recovery after Oracle has fully applied the log that you reconciled to in the previous steps taken on the intermediary system.

  21. On the target system, open the database with the RESETLOGS option.
  22. On the target system, run Database Setup on the database. When prompted for the SharePlex database user, enter n to choose the existing user and password (these were copied in the backup).

    Would you like to create a new SharePlex user [y]. n

    Note: SharePlex can remain running during the setup process. For more information about Database Setup, see Database Setup Utilities in the SharePlex Reference Guide.

  23. On the target system, run the cleanup.sql script to truncate the SharePlex internal tables. Instructions for running this script are in the SharePlex Reference Guide.

  24. On the target system, disable triggers on the tables, or run the sp_add_trigger.sql utility script so that the triggers ignore the SharePlex user.
  25. On the target system, disable check constraints and scheduled jobs that perform DML.
  26. [Partitioned replication only] If you are using vertically partitioned or horizontally partitioned replication for any tables, delete the unneeded columns and rows from those tables.

  27. On the intermediary system, activate the configuration file.

    sp_ctrl> activate config filename

  28. On the intermediary system, monitor activation status.

    Note: The command retains control of sp_ctrl until activation is finished.

  29. On the intermediary and target systems, start the Post process. All instances are now in synchronization, and SharePlex will continue replicating to maintain synchronization.

    sp_ctrl> start post

  30. [Optional] If this was only a partial backup, drop the tablespaces that were not copied over during the hot backup.

Activate replication with PostgreSQL hot backup on an active database

Use this procedure to use PostgreSQL hot backup to establish a target PostgreSQL instance and activate replication without quieting the source database. This procedure involves using the reconcile command to ensure that transactions which occurred after the point of backup are applied to the target, while eliminating redundant replicated transactions that were already captured by the backup.

Supported databases

PostgreSQL to PostgreSQL

Supported replication strategies

All replication strategies are supported with the following limitations

Limitation applies to Description
Peer-to-peer

To establish peer-to-peer replication, you must:

  1. Quiet all the systems except the trusted source system for the duration of this procedure.

  2. Move all users to the trusted source system, and then follow this procedure.

Only after this procedure has been performed on all the secondary systems, users may resume activity on them.

Requirements

  • Read the requirements for activating a configuration file as mentioned in the user guide.

  • Make certain a SharePlex database account exists in the source database (only). This account is usually created when SharePlex is installed for the first time. See the SharePlex Installation and Setup Guide for more information.

  • Before you start, review this procedure and see the User Guide for more information about the commands that are used.

Troubleshooting

  • If the configuration fails to activate, you can find information about the failure in these places:

  • Use the show log command to view the event_log.

  • View the activation process log, which is a file named dbname_oconf##.log in the log sub-directory of the SharePlex variable data directory.

Procedure

SharePlex uses the "Activation with hot backup: all strategies except cascading" procedure for activation with a hot backup.

Activation with hot backup: all strategies except cascading

Use this procedure for all replication strategies except cascading replication, where SharePlex will be posting to a database on the intermediary system.

Perform the following steps to activate with hot backup for all strategies except cascading:

  1. On the source system, navigate to the bin sub-directory and run the ‘pg_setup’ utility. On the target system, the database will be in the stopped state as backup has not been applied yet; hence, pg_setup cannot be executed at this point.

  2. On both the systems, navigate to the bin sub-directory of the SharePlex product directory, and start sp_cop and sp_ctrl.

  3. On the source system, activate the configuration.

    sp_ctrl> activate config filename

  4. On the target system, the Post process will be in the idle or stopped due to error (if pg_setup was executed before) state as the database is not running, hence stop the Post process if it is in the idle state. This allows replicated data to accumulate in the Post queue until the target database has been recovered and reconciled.

    sp_ctrl>stop post

  5. On the target system, execute the pg_basebackup utility, which will take a hot backup from the source system and prepare a data directory for the target PostgreSQL database. Once it is completed, a database can be started on the target system.

Follow the below steps to start the database at the target system:

  1. Add an entry for the target system in the pg_hba.conf file at the source system.

    # TYPE DATABASE USER ADDRESS METHOD
    host replication all <ip_target>/32 trust

    Following is the description of field used:

    ip_target : IP address of the target system where the backup needs to be restored

  2. Take a backup of the existing database and create an empty PostgreSQL data directory.
    mv <pg_data_dir_target> <pg_data_dir_target>_old
    mkdir <pg_data_dir_target>

  3. Execute the pg_basebackup utility from the bin directory of PostgreSQL installation at the target system.
    ./pg_basebackup -h <source_ip> -p <source_port> -U <user_id> -X f -D <pg_data_dir_target>

    Description of the fields used:

    • source_ip : IP address of the source system where the PostgreSQL database is running

    • source_port : Port of the PostgreSQL database at the source system

    • user_id : Database user ID with replication role (SharePlex user has replication role, so it can be used here)

    • pg_data_dir_target : PostgreSQL data directory path at target system

  4. Once the backup is done on the target system, a backup_manifest file will be created in pg_data_dir_target. Open this file, navigate to the end, and find End-LSN under the WAL-Ranges tag. Keep note of the End-LSN value.

  1. On the target system, run the pg_setup utility. When prompted for the SharePlex database user, enter n to choose the existing user and password (these were copied in the backup).

    • Would you like to create a new SharePlex user [y]. n

NOTE: SharePlex can remain running during the setup process.

  1. [Optional] If you are using named post queues and are unsure of the queue names, issue the qstatus command.

sp_ctrl>qstatus
  1. On the target system, issue the reconcile command as follows. If you are using named post queues, issue the command for each one. The LSN number is the one which we have noted down in step 5, which is End-LSN.

sp_ctrl>reconcile queue queuename for datasource-datadest pglsn lsn_number
Example:reconcile queue SysA for r.dbA-r.dbB pglsn 0/C7000100

NOTE: The command retains control of sp_ctrl until the reconcile process is finished.

  1. On the target system, run the cleanup_pg.sql script to truncate the SharePlex internal tables if setup is configured as a source during ‘pg_setup’. It is present in bin sub-directory of the SharePlex product directory. To execute this, login to psql using the \i <path_to_script> command.

  2. [High availability and peer-to-peer only] On the target (secondary) system, activate the configuration.

    sp_ctrl>activate config filename

  3. On the target system, start the Post process. The two instances are now in synchronization, and SharePlex will continue replicating to maintain synchronization.

sp_ctrl>start post
Documents connexes

The document was helpful.

Sélectionner une évaluation

I easily found the information I needed.

Sélectionner une évaluation