Error-correction blocks contain information about the preceding set of backup blocks and allow PROREST to recover corrupted blocks in a backup. The error-correction block and the blocks it is based on are called a redundancy set. You can provide error-correction blocks in the backup by specifying the -red parameter in the backup command.
The -red parameter specifies a redundancy factor. The redundancy factor determines how many backup blocks are in each redundancy set. For example, if you specify a redundancy factor of 2, PROBKUP creates an error-correction block for every two backup blocks. Therefore, every redundancy set contains two backup blocks and an error-correction block.
PROREST can recover a bad backup block if it is the only corrupted block in the redundancy set. If a redundancy set contains more than one bad backup block or a bad backup block and a bad error-correction block, PROREST cannot recover any of the bad blocks in the redundancy set.
If you specify a very low redundancy factor (for example, 2), the chance of having two or more bad database blocks in a redundancy set is low. If you specify a higher redundancy factor, the chances are higher. However, lower redundancy values also produce larger backups that require more time and media. If the backup media is highly reliable, you might use a high redundancy factor; if the media is less reliable, you might want to specify a lower redundancy factor.
The size of each backup block—and therefore of each error-correction block—is determined by the -bf parameter. The default blocking factor is 34. For example, if the database block is 1,024 bytes and the blocking factor is 40, each backup block is 40K; that is, the size of 40 database blocks.