This process restores a database that was backed up by using the db2
backup command. The restored database starts back in the same state that it was in when
the online backup was made.
Before you begin
- You must have an existing Db2 backup that is accessible on the IBM Software
Hub system.
- You must identify the Db2 catalog node and data nodes and have an SSH
connection open to each 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
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
-
Switch to the database instance owner from a bash shell on each of the nodes specified in the
db2nodes.cfg file. 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
subdirectory. 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.
-
Disable the built-in HA temporarily:
sudo wvcli system disable -m "Disable HA before Db2 maintenance"
-
Connect to the database:
-
Find all the applications that are connected to Db2 on the catalog node.
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 restore operation:
-
On the catalog node, run the following command:
db2 RESTORE DATABASE ${DBNAME} FROM backup_dir TAKEN AT backup_image_timestamp INTO ${DBNAME} REPLACE EXISTING WITHOUT PROMPTING
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.
-
After the commands are complete, roll forward the database by running the following command on
the catalog node:
db2 rollforward db ${DBNAME} to end of backup on all dbpartitionnums and stop
-
Stop the database:
db2stop force
Ensure that the command completes on all nodes.
-
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:
db2start
The online database restore operation is complete.
-
Activate the database:
db2 activate db ${DBNAME}
-
Re-enable the Wolverine high availability monitoring process:
wvcli system enable -m "Enable HA after Db2 maintenance"
-
Connect to the database:
What to do next
For more information about advanced command options, see the RESTORE DATABASE command