BLI incremental backup options using NetBackup for DB2
DB2 BLI incremental backups can be initiated in several ways. Initiating them from the primary server is the recommended method because it requires no special configuration. Operational constraints may necessitate initiating the backups from the client host, two options are available.
Note:
BLI is not currently supported for DB2 Snapshot backups on Microsoft Windows clients, the examples in this section use UNIX Bourne shell syntax. Modify as appropriate if using a different shell.
The following three options describe how to initiate DB2 BLI incremental backups. Some of these options also contain examples of a policy setup that you use and how to modify the backup script.
We recommend that you initiate BLI backups from the primary server. Initiate the BLI backups using automatic schedules and a Backup Selection that is a script. When NetBackup controls the initiation, no special configuration is needed. The policy and the schedule information are provided to the client from the primary server. The agent queries the policy and the schedule information and performs the appropriate type of checkpoint; full, cumulative incremental, or differential incremental.
If the backup is initiated from the client, then the schedule from the db2.conf file is used by default. To perform both the full and the incremental backups, the backup script must be enhanced. The enhancement is to ensure the correct type of schedule and associated checkpoint is used. This enhancement can be accomplished by setting the same environment variables that the primary server sets before the backup is initiated.
Create appropriate automatic full, automatic cumulative incremental, and automatic differential incremental schedules in the DB2 backup policy.
Set environment variables to specify the automatic schedule to use before the agent program runs.
Create one
db2.conffile in the $DB2_Instance_Home directory. Update the schedule keyword in the database stanza with the name of the application backup schedule to use for any stream-based backups that might occur. The value is overridden with automatic schedule names in the following example.
The following is an example of a policy that has automatic schedules for the snapshot backups and an application schedule for the stream-based backups.
primary$ bpplsched DB2_Policy -L | egrep '^Schedule:|^ Type:' Schedule: Full Type: FULL SDB2 (0) Schedule: Cum Type: CINC (4) Schedule: Diff Type: INCR (1) Schedule: Default-Application-Backup Type: UBAK DB2 (2)
The policy only has one db2.conf file, and it is set for stream-based backups.
client$ head -4 $DB2_Instance_Home/db2.conf DATABASE SAMPLE OBJECTTYPE DATABASE POLICY DB2_Policy SCHEDULE Default-Application-Backup
The backup script sets and exports the appropriate environment variables before the backup is initiated.
DB2_INCR=0 DB2_CINC=0 DB2_FULL=0 if [ <some_condition> ]; then DB2_INCR=1 DB2_SCHED="Diff" elif [ <some_other_condition> ]; then DB2_CINC=1 DB2_SCHED="Cum" else DB2_FULL=1 DB2_SCHED="Full" fi DB2_POLICY=DB2_Policy DB2_SCHEDULED=1 export DB2_INCR DB2_CINC DB2_FULL DB2_SCHED DB2_POLICY DB2_SCHEDULED /usr/openv/netbackup/bin/bpdb2proxy <options>
If the backup is initiated from the client, then the schedule from the db2.conf file is used by default. The db2.conf file can specify only one policy and schedule for a specific database. To perform both the full and the incremental backups, the backup script must be enhanced. The enhancement is to ensure the correct type of schedule and associated checkpoint is used. This enhancement can be accomplished by updating the db2.conf file before the backup is initiated.
Create appropriate automatic full, automatic cumulative incremental, and automatic differential incremental schedules in the DB2 backup policy.
Create a
db2.conffile to be used with each schedule. In each file, update the schedule keyword in the database stanza with the associated schedule name.Copy the appropriate
db2.conffile into place before you run the agent program.
The following is an example of a policy that has automatic schedules for the snapshot backups and an application schedule for the stream-based backups.
primary$ bpplsched DB2_DB_Policy -L | egrep '^Schedule:|^ Type:' Schedule: Full Type: FULL SDB2 (0) Schedule: Cum Type: CINC (4) Schedule: Diff Type: INCR (1) Schedule: Default-Application-Backup Type: UBAK DB2 (2)
The policy has three db2.conf files, one for each type of automatic backup schedule.
client$ head -4 db2.conf.with_full_schedule DATABASE SAMPLE OBJECTTYPE DATABASE POLICY DB2_DB_Policy SCHEDULE Full client$ head -4 db2.conf.with_cum_schedule DATABASE SAMPLE OBJECTTYPE DATABASE POLICY DB2_DB_Policy SCHEDULE Cum client$ head -4 db2.conf.with_diff_schedule DATABASE SAMPLE OBJECTTYPE DATABASE POLICY DB2_DB_Policy SCHEDULE Diff
The backup script copies the correct db2.conf file into place before the backup is initiated.
... <setup the rest of the DB2 backup environment> ... if [ <some_condition> ]; then cp db2.conf.with_diff_sched $DB2_Instance_Home/db2.conf elif [ <some_other_condition> ]; then cp db2.conf.with_cum_sched $DB2_Instance_Home /db2.conf else cp db2.conf.with_full_sched $DB2_Instance_Home /db2.conf fi /usr/openv/netbackup/bin/bpdb2proxy <options>