Backing up a Db2 database offline

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

  1. 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.

  2. Temporarily disable the built-in HA:
    sudo wvcli system disable -m "Disable HA before Db2 maintenance"
  3. Connect to the database:
    db2 connect to ${DBNAME}
  4. 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
  5. Issue the terminate database command:
    db2 terminate
  6. Stop the database:
    db2stop force

    Ensure that the command completes on all nodes.

  7. Ensure that all Db2 interprocess communications are cleaned for the instance:
    ipclean -a
  8. Turn off all communications to the database by setting the value of the DB2COMM variable to null:
    db2set -null DB2COMM
  9. Restart the database in restricted access mode:
    db2start admin mode restricted access
  10. 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.
  11. Halt the restricted access mode:
    db2stop force
  12. Ensure that all Db2 interprocess communications are cleaned for the instance:
    ipclean -a
  13. Reinitialize the Db2 communication manager to accept database connections:
    db2set DB2COMM=TCPIP,SSL
  14. Restart the database for normal operation:
    db2start
  15. Activate the database:
    db2 activate db ${DBNAME}
  16. As the root user, re-enable the built-in HA monitoring:
    sudo wvcli system enable -m "Enable HA after Db2 maintenance"
  17. Confirm that the built-in HA monitoring is active:
    sudo wvcli system status 
    sudo wvcli system devices
  18. Connect to the database:
    db2 connect to ${DBNAME}

    For more information about advanced command options, see the BACKUP DATABASE command.

  19. 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.