What is required to ensure that a DB2 backup will achieve the best dedup ratio. If this is a SAP environment, is there any difference for setting this up if the backup is performed with backom versus the DB2 commandline.
The data needs to be stored in a consistent manner in order to identify redundant data for deduplication.
When performing a DB2 backup, the data is extracted from the DB2 database in a manner that achieves the best performance. However, since this will multiplex the data from multiple tablespaces, the backup data does not readily accommodate deduplication.
Starting with DB2 version 9.7 FixPack 3. the DEDUP_DEVICE option was included to assist with extracting the DB2 data for each backup in the same consistent order. When the DB2 DEDUP_DEVICE option is utilized, the backup processing will stream the data in a standardized manner. Specifically, the data for a DB2 tablespace will be written in table space page order, to a single media controller (db2med) thread. This allows for comparison of the backup data, such that any unchanged data can be readily recognized for deduplication.
For the DB2 commandline, the DEDUP_DEVICE parameter can be included for the backup syntax. See the DB2 Command Reference Manual for the correct syntax.
If SAP is being used with the DB2 database, the Data Protection for SAP would be utilized for the backup processing. In this case the backup can be performed with either the DB2 commandline (with a load of the Data Protection library) or using the backom utility.
When using the DB2 commandline for the SAP backup, the DEDUP_DEVICE option can be included within the backup command. For example:
"db2 backup db C21 load /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a DEDUP_DEVICE"
When using Backom to perform the DB2 backup, this will use the DB2 APIs to trigger the DB2 backup command (and the data is sent to Tivoli Storage Manager via the Data Protection interface). Although there is a db2backup_dedup_device option for the DB2Backup API, this is not currently implemented within the backom interface. Thus, there is currently no capability to add the dedup functionality to the DB2 command when using backom.
If it is not possible to use the DEDUP_DEVICE option within DB2, it is possible to attain some deduplication capability by setting the DB2 parallelism equal to the number of sessions being used for the backup. This may allow for some amount of deduplication of the data, but in most cases will also degrade the backup performance.