I was recently working with an off-shore developer, trying to get their WebSphere Commerce database updated to a state that it can be used with the current state of the WebSphere Commerce project I’m currently working on. They were having permission issues when attempting to run a database backup and restore through the IBM Control Center for DB2 on Windows. As a result of the need to control the user credentials that will be backing up and restoring the database, I put together the following commands that can be ran on the command line to perform database backup and restore operations, and figured I’d share these with everyone.
The following commands are designed to be run from the DB2 Command Line Processor. If you wish to run these from the DB2 Command Window or Windows Shell, you will need to prefix each line with the DB2 directive (db2).
To backup your database, run the following commands in order substituting values where appropriate. The values that need substitution are surround with { }. The following variables are used in the backup commands.
- {DBNAME}: The database name to be connected to and backed up.
- {USER}: A database user with appropriate permissions.
- {PASSWORD}: The database user’s password.
- {C:\}: This is the path you want the backup file output to.
CONNECT TO {DBNAME} USER {USER} USING {PASSWORD}; QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS; CONNECT RESET; BACKUP DATABASE {DBNAME} USER {USER} USING {PASSWORD} TO "{C:\}" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS WITHOUT PROMPTING; CONNECT TO {DBNAME} USER {USER} USING {PASSWORD}; UNQUIESCE DATABASE; CONNECT RESET;
To restore your database, you’ll want to run the following command substituting values where appropriate. Once again, the values that need substitution are surround with { }. The following variables are used in the backup commands.
- {DBNAME}: The database name to be connected to and backed up.
- {USER}: A database user with appropriate permissions.
- {PASSWORD}: The database user’s password.
- {C:\}: This is the full path to where your database is currently backed up.
- {20121116165148}: This is the timestamp of your database backup. The format is: YYYYMMDDHHMMSS.
- {C:}: This is the target database location. Note: On Windows operating systems, when using this parameter, specify only the drive letter. If you specify a path, an error is returned.
RESTORE DATABASE {DBNAME} USER {USER} USING {PASSWORD} FROM "{C:\}" TAKEN AT {20121116165148} TO "{C:}" INTO {DBNAME} WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;
If you have any changes, recommendations, or comments, please let me know by using the comment form below.