Table of Contents

Search

  1. Preface
  2. Data Replication Overview
  3. Understanding Data Replication
  4. Sources - Preparation and Replication Considerations
  5. Targets - Preparation and Replication Considerations
  6. Starting the Server Manager
  7. Getting Started with the Data Replication Console
  8. Defining and Managing Server Manager Main Servers and Subservers
  9. Creating and Managing User Accounts
  10. Creating and Managing Connections
  11. Creating Replication Configurations
  12. Materializing Targets with InitialSync
  13. Scheduling and Running Replication Tasks
  14. Implementing Advanced Replication Topologies
  15. Monitoring Data Replication
  16. Managing Replication Configurations
  17. Handling Replication Environment Changes and Failures
  18. Troubleshooting
  19. Data Replication Files and Subdirectories
  20. Data Replication Runtime Parameters
  21. Command Line Parameters for Data Replication Components
  22. Updating Configurations in the Replication Configuration CLI
  23. DDL Statements for Manually Creating Recovery Tables
  24. Sample Scripts for Enabling or Disabling SQL Server Change Data Capture
  25. Glossary

Recovery Tables

Recovery Tables

The Applier generates recovery tables on targets to store internal service information that prevents the Applier from replicating previously applied data again when the Applier task restarts after a failure.
The Applier uses recovery tables for all target types except
Apache Kafka,
Cloudera,
Flat File,
and Hortonworks
.
For Kafka targets, Data Replicaton uses a checkpoint file instead of a recovery table.
The Applier writes information to recovery tables every apply cycle. When an apply cycle starts, if the previous apply cycle completed successfully, the Applier purges the data in the recovery table. If the previous apply cycle ended abnormally, the Applier uses the data in the recovery table to recover from the failure.
The Applier uses data in the recovery table under the following circumstances:
  • The Applier task ended abnormally during the last apply cycle, after a commit occurred on the database and before the Applier wrote checkpoint information to the SQLite checkpoint database.
  • The Applier task ended abnormally during the last apply cycle, when processing change data between commit records on subtask threads.
During the recovery cycle, the Applier processes only the intermediate files that were not successfully processed during the previous apply cycle. If the recovery cycle completes successfully, the Applier continues to process the intermediate files.
Typically, the Applier generates recovery tables when it runs for the first time. To generate the recovery table on the target, the Applier must run under a user who has the privileges required to create a table on the target. When you save a configuration file for the first time or deploy a configuration to another Server Manager Main server, Data Replication displays a dialog box in which you can edit the recovery table name and confirm the generation of the recovery table. The default name of the recovery table is IDR_RECOVERY. For a replication job with multiple targets, you can override the recovery table name to specify a different name for each target.
For Netezza targets, Data Replication creates multiple recovery tables on each database. The number of recovery tables for a Netezza database must match the number of Applier threads. Data Replication appends the suffix _
N
to recovery table names on Netezza targets, where
N
is the sequence number of the Applier thread that uses this recovery table.
If an error occurs when the Applier is generating the recovery tables, you can manually define and execute CREATE TABLE statements to create recovery tables. For more information, see DDL Statements for Manually Creating Recovery Tables.
With both recovery tables and checkpointing in place, the Extractor, Server Manager, and Applier can resume processing correctly after different types of failures and planned outages, such as database failures, network failures, system failures, Data Replication upgrades, and configuration information upgrades.
If you use Data Replication 9.6.4 or earlier, the length of the column for configuration names (config) in recovery tables is limited to 64 characters. However, the maximum allowed length of a configuration name is 100 characters. For correct recovery processing, ensure that the first 64 characters in the config column values are unique.
If you have recovery tables to which this limitation applies, you can increase the length of the config column in one of the following ways:
  • If the target type allows columns to be resized, resize the config column in the recovery table to 256 bytes.
  • Re-create the recovery table in Data Replication 9.7.0 or later by performing the following steps:
    1. Ensure that the Applier is not running and that the recovery table does not contain records with non-zero values in the scn or scn_low columns.
    2. Drop the recovery table.
    3. Restart the Applier.
      The Applier re-creates the recovery table on the target with a config column that uses the VARCHAR(256) datatype.

0 COMMENTS

We’d like to hear from you!