Disk space requirements
Before installing the CDC Replication software, you need to ensure that sufficient disk space is available on your server.
| Disk space |
|---|
CDC Replication source system:
CDC Replication target
system:
|
- You are running large batch transactions in the database on your source system.
- You are configuring multiple subscriptions and one of your subscriptions is latent. In this type of scenario, CDC Replication on your source system may persist transaction queues to disk if RAM is not available.
- You are replicating large LOB data types.
- You are replicating "wide" tables that have hundreds of columns.
- You are performing regular back ups of your metadata with the dmbackupmd command-line utility.
The tmp directory for each CDC Replication instance stores temporary files that contain uncommitted transaction data that does not fit in memory while the parser is running. The tmp directory also stores temporary files for large object (LOB) data that does not fit in memory. If you set a disk space quota by using the mirror_global_disk_quota_gb parameter, the engine stops if the disk space usage for the tmp directory exceeds that quota. Before restarting, you must address the situation (for example by increasing the quota or refreshing all tables to skip over the uncommitted transactions).
The txnstore directory stores uncommitted transaction data when the log parser stops normally or immediately. This design enables the log parser, on restart, to resume reading the log from where it left off. The uncommitted log entries are stored in a Pointbase database called txqueue. If a large quantity of uncommitted transaction data exists when the log parser stops, the size of this database could be large, but it is deleted when it is no longer needed. The txnstore directory also contains a Pointbase database that is used to store transaction queue snapshots. A transaction queue snapshot stores uncommitted transaction data that is more than x hours old, where x=2 by default. Transaction queue snapshots are used to minimize how far back in the log the log reader needs to start reading if the log parser stops, because in this case the uncommitted transaction data was not stored in the txqueue database. The amount of data that a transaction queue can hold is limited, so these databases never grow very large.