You can simplify the recovery process by using a Single System View (SSV) backup for your
Db2 database deployments. You can back up database partitions simultaneously and
receive a single time-stamp for all partitions.
Before you begin
- For an offline backup, the database is offline and inaccessible to applications during backup,
but there are no ongoing transactions that need to be added to the backup.
- You must identify the Db2 catalog node and have an SSH connection to the
catalog node.
Note: The following commands use the environment variable that contains the default database name:
${DBNAME}. If you have multiple databases, update the commands or variable
value.
About this task
Run the db2 backup command in the node where your Db2 database
service is deployed.
Procedure
-
From a bash shell on the catalog node, switch to the database instance owner and create the
directory to hold the backup images:
su - db2inst1
mkdir /backup_dir/backup_nnn
Where backup_dir is the directory that you create to hold backup images and
nnn is an incremental value that puts each backup in a separate subdirectory. The
backups can be put into any directory on the cluster that is shared by the container nodes and has
sufficient space to hold the backups. If you back up into a different directory, alter these
commands as necessary.
-
Temporarily disable the built-in HA:
sudo wvcli system disable -m "Disable HA before Db2 maintenance"
-
Connect to the database:
-
Find all the applications that are connected to Db2. The following command
returns a list of all currently connected applications.
db2 list applications
You can either stop all the connections by closing the applications, or you can enter the
following command to disconnect all connections:
db2 force application all
-
Issue the terminate database command:
-
Stop the database:
db2stop force
Ensure that the command completes on all nodes.
-
Ensure that all Db2 interprocess communications are cleaned for the
instance:
-
Turn off all communications to the database by setting the value of the DB2COMM variable to
null:
-
Restart the database in restricted access mode:
db2start admin mode restricted access
-
Run the offline backup with the command:
db2 backup db ${DBNAME} on all dbpartitionnums to backup_dir
Where
backup_dir is the full path to the directory that you created in Step
1.
The following is an example of a successful result:
Part Result
---- ------------------------------------------------------------------------
0000 DB20000I The BACKUP DATABASE command completed successfully.
0001 DB20000I The BACKUP DATABASE command completed successfully.
0002 DB20000I The BACKUP DATABASE command completed successfully.
Backup successful. The timestamp for this backup image is : 20190523204048
The database
backup is complete.
-
Halt the restricted access mode:
-
Ensure that all Db2 interprocess communications are cleaned for the instance:
-
Reinitialize the Db2 communication manager to accept database
connections:
-
Restart the database for normal operation:
-
Activate the database:
db2 activate db ${DBNAME}
-
As the root user, re-enable the built-in HA monitoring:
sudo wvcli system enable -m "Enable HA after Db2 maintenance"
-
Confirm that the built-in HA monitoring is active:
sudo wvcli system status
sudo wvcli system devices
-
Connect to the database:
- Run the following command to copy over the two keystore files from the keystore directory
into the backup directory.
cp ${KEYSTORELOC}/keystore.p12 ${BACKUPDIR}
cp ${KEYSTORELOC}/keystore.sth ${BACKUPDIR}
When you restore from an encrypted backup, you need the following two keystore files:
keystore.p12
keystore.sth
What to do next
For instructions on the recommended restore option, see Restoring Db2 from an offline backup by using the restore script.