Restoring Db2 by using commands

This process restores a database that was backed up by using the db2 backup command. The restored database starts back the same state that it was in when the backup was made.

Before you begin

  • You must have an existing Db2® backup that is accessible on the IBM® Cloud Pak for Data System.
  • You must identify the Db2 catalog node and data nodes and have an SSH connection open to each node. For more information, see Preparing to back up or restore Db2.

About this task

The restore script is the preferred strategy to restore because it provides:

  • A simple flow
  • A restore strategy for full offline backup images
  • Native support for restoring encrypted databases

The commands in this procedure are illustrative only and are only applicable when you are restoring from a Db2 backup in Cloud Pak for Data at a similar version. Further commands are required for restoring an encrypted database. For most restore operations, the best practice is to use the procedure in Using the restore script.

Note: If your backup and restore strategy is based on full offline backup images, you can use a provided script for restoring instead of using the process in this topic. These commands are only applicable when you are restoring from a Db2 backup in Cloud Pak for Data at a similar version. Otherwise, further commands are required, as detailed in Restoring data. For most restore operations, the best practice is to use the procedure in Using the restore script.

For a Db2 deployment, the db2 restore command can be started only from the catalog node, but each available multiple logical node (MLN) participates in the restore operation.

Restriction: A full database restore operation can be run only in offline mode.

Procedure

  1. Exec into the Db2 pod.
  2. Temporarily disable the built-in HA:
    sudo wvcli system disable -m "Disable HA before Db2 maintenance" 
  3. From a bash shell on each of the nodes specified in the db2nodes.cfg file, switch to the database instance owner. Confirm that the directory that contains the database backup exists and is mounted. For example:
    su - db2inst1
    cd /backup_dir/backup_nnn
    Where backup_dir is the directory that you create to hold backup images and nnn is an incremental value that was used to put each backup in a separate directory. The directory that is shown here is only an example. The backups can be in any directory on the cluster that is shared by the container nodes and has sufficient space to hold the backups. If you restore a backup from a different directory location, alter these commands as necessary.
  4. Connect to the database:
    db2 connect to BLUDB
  5. On the catalog node, find all the applications that are connected to Db2:
    db2 list applications
    This command returns a list of all currently connected 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
  6. Issue the terminate database command:
    db2 terminate
  7. Stop the database:
    db2stop force

    Ensure that the command completes on all nodes.

  8. Ensure that all Db2 interprocess communications are cleaned for the instance:
    ipclean -a
  9. Turn off all communications to the database by setting the value of the DB2COMM variable to null:
    db2set -null DB2COMM
  10. Restart the database in restricted access mode:
    db2start admin mode restricted access
  11. Run the restore operation. On the catalog node, run the following command:
    db2 RESTORE DATABASE BLUDB FROM backup_dir TAKEN AT backup_image_timestamp INTO BLUDB REPLACE EXISTING WITHOUT ROLLING FORWARD

    Where backup_dir is the full path to the directory where your backup images are located, and backup_image_timestamp is the associated timestamp on those backup image files.

  12. Stop the database:
    db2stop force

    Ensure that the command completes on all nodes.

  13. Ensure that all Db2 interprocess communications are cleaned for the instance:
    ipclean -a
  14. Reinitialize the Db2 communication manager to accept database connections:
    db2set DB2COMM=TCPIP,SSL
  15. Restart the database for normal operation:
    db2start
    The offline database restore operation is complete.
  16. Activate the database:
    db2 activate db bludb
  17. Re-enable the Wolverine high availability monitoring process:
    wvcli system enable -m "Enable HA after Db2 maintenance"
  18. Connect to the database:
    db2 connect to BLUDB

What to do next

For more information about advanced command options, see the RESTORE DATABASE command