Recover SAP IQ and SAP MaxDB databases from a volume-based backup image to a new location
Stay organized with collections
Save and categorize content based on your preferences.
Both of these procedures require you to customize and run a config file.
The following sections detail how to recover a volume-based backup image of an
SAP IQ or SAP MaxDB database to a new location.
To recover a volume-level backup image of an IBM Db2, MariaDB, MySQL,
PostgreSQL, SAP ASE, SAP IQ, or SAP MaxDB database to a new target, you can
also use the instant mount and migrate of a database to a new target procedure.
After the database is restored, take a dump database backup to generate
a backup history point in backup_history_list, which is
required to take log backups. For example, the following:
Without this, future volume level backups fail with the error fail to
trigger autolog backup template.
Unmount the mounted snapshot image.
Change the password
In some cases, you may need to change the database password.
SAP IQ
Log into the target database. For a database named TARGET_SERVER_NAME,
with db user SRC_DB_DBA_USER and password SRC_DB_DBA_PWD, the command to
sign in is as follows.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis document provides instructions for recovering SAP IQ and SAP MaxDB databases from volume-based backup images to a new location, requiring the use of customized configuration files and scripts.\u003c/p\u003e\n"],["\u003cp\u003eThe recovery process involves mounting a database backup, running a specific script tailored to either SAP IQ or SAP MaxDB, and providing necessary variables like mount points, database credentials, and recovery times.\u003c/p\u003e\n"],["\u003cp\u003eThe described restore procedure keeps the database offline during the entire recovery, however at the end of it, the database will be available at full performance without any background processes, unlike the instant mount and migrate option.\u003c/p\u003e\n"],["\u003cp\u003eAfter the database recovery, users can connect and verify the status of the restored databases, and then it's possible to modify database user passwords using specific commands for each database type.\u003c/p\u003e\n"],["\u003cp\u003eFor the SAP MaxDB database type, a dummy or dump database backup is required to prevent future volume level backup errors.\u003c/p\u003e\n"]]],[],null,["# Recover SAP IQ and SAP MaxDB databases from a volume-based backup image to a new location\n\nBoth of these procedures require you to customize and run a config file.\n\nThe following sections detail how to recover a volume-based backup image of an\nSAP IQ or SAP MaxDB database to a new location.\n\n- To recover a volume-level backup image of an IBM Db2, MariaDB, MySQL,\n PostgreSQL, SAP ASE, SAP IQ, or SAP MaxDB database to a new target, you can\n also use the [instant mount and migrate of a database to a new target](/backup-disaster-recovery/docs/restore-data/otherdb-mount-and-migrate) procedure.\n\n | **Note:** Mount and migrate is a quick mount; the database is immediately available from the staging disk, then the data moves in the background from the staging disk to the target storage. If users are active in the database, this takes time and impacts performance. \n | The restore procedures on this page keep the database down for the entire time of the restore procedure, often some hours, but at the end the database is available on the target storage at full performance, with no impact of background migration or reading from a staging disk.\n- To recover a Full+Incremental backup image of an IBM Db2, PostgreSQL, SAP ASE,\n SAP IQ, and SAP MaxDB databases to a new target, see\n [Recover a Full+Incremental backup image of other databases to a new target](/backup-disaster-recovery/docs/restore-data/otherdb-recover-dump-to-new).\n\nRecovery procedure\n------------------\n\nTo recover a volume-level backup image to a new target, follow these steps:\n\n1. From the Backup and DR Service management console, open the **App Manager**.\n2. Right-click the protected database and select **Access** . You can use the\n **Managed Backup Plan** status filter to show only protected databases.\n\n3. Select the latest snapshot to recover, and choose **Mount**.\n\n4. Provide a target mount point under mount location,\n for example, `/dmpRstNew`. This is used as the variable TARGET_MNT_PNT.\n\n The database backup is mounted under /dmpRstNew (TARGET_MNT_PNT)\n and the log backup is mounted under /dmpRstNew_archivelog (LOG_BKP_MNTPT).\n5. Log into the database server as root. Change the directory to\n `/act/custom_apps/\u003cdatabase type\u003e/restore`.\n\n6. Run the script.\n\n ### SAP IQ\n\n /act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh \u003cvar label=\"mount point provided during the mount job from step 3 in the format `TARGET_MNT=/act/mnt/`\" translate=\"no\"\u003eTARGET_MNT\u003c/var\u003e \u003cvar label=\"target host osuser\" translate=\"no\"\u003eOSUSER\u003c/var\u003e \u003cvar label=\"the source database file full path, such as /lv3Data/lv3DB/data/lv3DB.db\" translate=\"no\"\u003eCATALOG_DB_FILE\u003c/var\u003e \u003cvar label=\"target utility db user\" translate=\"no\"\u003eSRC_DB_DBA_USER\u003c/var\u003e \u003cvar label=\"target utility db password\" translate=\"no\"\u003eSRC_DB_DBA_PWD\u003c/var\u003e \u003cvar label=\"the TARGET_MNT value, followed by _archivelog\" translate=\"no\"\u003eLOG_BKP_MNTPT\u003c/var\u003e \u003cvar label=\"(Optional) The time of the last known good database and logs desired recovery time in the format YYYY-MM-DD HH:MM:SS\" translate=\"no\"\u003eRECOVERY_TIME\u003c/var\u003e \u003cvar label=\"the mount job id\" translate=\"no\"\u003eJOBID\u003c/var\u003e \u003cvar label=\"incremental backup file path in the format /act/tmpdata/JOBID/INC_BKP.1\" translate=\"no\"\u003eINCR_BKP_LOC\u003c/var\u003e\n\n | **Note:** You can get ACT_JOBNAME from the management console Monitor \\\u003e Jobs tab.\n\n After the script has run, connect to the IQ database and confirm that the\n databases are recovered and online. \n\n dbisql -c \"uid=\u003cvar label=\"username\" translate=\"no\"\u003eusername\u003c/var\u003e;pwd=\u003cvar label=\"password\" translate=\"no\"\u003epassword\u003c/var\u003e;eng=\u003cvar label=\"engine name\" translate=\"no\"\u003eengine name\u003c/var\u003e;dbn=\u003cvar label=\"database name\" translate=\"no\"\u003edatabase name\u003c/var\u003e;\" -nogui\n\n ### SAP MaxDB\n\n /act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh \\\n \u003cvar label=\"OS user of the target database\" translate=\"no\"\u003eOSUSER\u003c/var\u003e \\\n \u003cvar label=\"SID of the target database\" translate=\"no\"\u003eTARGET_SERVER_NAME\u003c/var\u003e \\\n \u003cvar label=\"DBM username for the target\" translate=\"no\"\u003eTARGET_DB_USER\u003c/var\u003e \\\n \u003cvar label=\"DBM password for the target\" translate=\"no\"\u003eTARGET_DBUSER_PASSWD\u003c/var\u003e \\\n \u003cvar label=\"SID of the source database\" translate=\"no\"\u003eSOURCE_DBSID\u003c/var\u003e \\\n \u003cvar label=\"full path to Manifest_File_SLD\" translate=\"no\"\u003eMANIFEST_FILE_LOC\u003c/var\u003e \\\n \u003cvar label=\"version of the source database\" translate=\"no\"\u003eSRC_DB_VERSION\u003c/var\u003e \\\n \u003cvar label=\"mount job ID in the format Job_1479897\" translate=\"no\"\u003eACT_JOBNAME\u003c/var\u003e \\\n \u003cvar label=\"the mount point provided during the mount job\" translate=\"no\"\u003eTARGET_MNT_PNT\u003c/var\u003e \\\n \u003cvar label=\"the TARGET_MNT_PNT value followed by _archivelog\" translate=\"no\"\u003eLOG_BKP_MNTPT\u003c/var\u003e \\\n \u003cvar label=\"the desired time for the recovery to be finished, in the format YYYY-MM-DD HH:MM:SS\" translate=\"no\"\u003eUNTIL_TIME\u003c/var\u003e \\\n \u003cvar label=\"the time to start the recovery, in the format YYYY-MM-DD HH:MM:SS\" translate=\"no\"\u003eBEGIN_TIME\u003c/var\u003e\n\n | **Note:** TARGET_DB_USER and TARGET_DBUSER_PASSWD must be the same as the source DBM username and password. You can change the password after the restore operation is finished.\n | **Note:** You can get ACT_JOBNAME and TARGET_MNT_PNT from the management console Monitor \\\u003e Jobs tab.\n\n Connect to the MaxDB database and confirm that the databases are recovered\n and online: \n\n dbmcli -d \u003cvar label=\"SID of the target database\" translate=\"no\"\u003eTARGET_SERVER_NAME\u003c/var\u003e -u \u003cvar label=\"DBM username for the target\" translate=\"no\"\u003eTARGET_DB_USER\u003c/var\u003e,\u003cvar label=\"DBM password for the target\" translate=\"no\"\u003eTARGET_DBUSER_PASSWD\u003c/var\u003e db_state\n\n After the database is restored, take a dump database backup to generate\n a backup history point in backup_history_list, which is\n required to take log backups. For example, the following: \n\n dbmcli -d \u003cvar label=\"Database name\" translate=\"no\"\u003eDB\u003c/var\u003e -u \u003cvar label=\"DBM user\" translate=\"no\"\u003eDBM_USER\u003c/var\u003e,\u003cvar label=\"DBM password\" translate=\"no\"\u003eDBM_PASSWORD\u003c/var\u003e -c backup_start \u003cvar label=\"Template name\" translate=\"no\"\u003eTEMPLATE_NAME\u003c/var\u003e DATA AUTOIGNORE\n\n Without this, future volume level backups fail with the error *fail to\n trigger autolog backup template*.\n7. Unmount the mounted snapshot image.\n\nChange the password\n-------------------\n\nIn some cases, you may need to change the database password. \n\n### SAP IQ\n\n1. Log into the target database. For a database named `TARGET_SERVER_NAME`,\n with db user `SRC_DB_DBA_USER` and password `SRC_DB_DBA_PWD`, the command to\n sign in is as follows.\n\n dbisql -nogui -onerror exit -c 'uid=\u003cvar label=\"DBA username\" translate=\"no\"\u003eSRC_DB_DBA_USER\u003c/var\u003e;pwd=\u003cvar label=\"DBA password\" translate=\"no\"\u003eSRC_DB_DBA_PWD\u003c/var\u003e;dbn=\u003cvar label=\"SID of the target database\" translate=\"no\"\u003eTARGET_DB_NAME\u003c/var\u003e;eng=\u003cvar label=\"SID of the target server\" translate=\"no\"\u003eTARGET_SERVER_NAME\u003c/var\u003e;\n\n2. Run the following command to change password.\n\n ALTER USER \u003cvar label=\"DBA username\" translate=\"no\"\u003eSRC_DB_DBA_USER\u003c/var\u003e IDENTIFIED BY \u003cvar label=\"DBA password\" translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e\n\n3. Sign in again with new password to verify:\n\n dbisql -nogui -onerror exit -c 'uid=\u003cvar label=\"DBA username\" translate=\"no\"\u003eSRC_DB_DBA_USER\u003c/var\u003e;pwd=\u003cvar label=\"DBA password\" translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e;dbn=\u003cvar label=\"SID of the target database\" translate=\"no\"\u003eTARGET_DB_NAME\u003c/var\u003e;eng=\u003cvar label=\"SID of the target server\" translate=\"no\"\u003eTARGET_SERVER_NAME\u003c/var\u003e;\n\n### SAP MaxDB\n\n1. To change the password, sign in to the target database as DBM user:\n\n dbmcli -d \u003cvar label=\"SID of the target database\" translate=\"no\"\u003eTARGET_SERVER_NAME\u003c/var\u003e -u \u003cvar label=\"DBM username for the target\" translate=\"no\"\u003eTARGET_DB_USER\u003c/var\u003e,\u003cvar label=\"DBM password for the target\" translate=\"no\"\u003eTARGET_DBUSER_PASSWD\u003c/var\u003e\n user_changepwd dbm \u003cvar label=\"new password\" translate=\"no\"\u003enew_password\u003c/var\u003e\n\n For example, for a DBM user changing the password from abcdef to fedcba,\n sign in:\n\n `dbmcli -d glxn -u dbm,abcdef`\n2. Run the following command:\n\n `user_changepwd dbm abcdef`\n3. Sign in again with the new password:\n\n `dbmcli -d glxn -u dbm,fedcba`"]]