这两种程序都需要您自定义并运行配置文件。
以下部分详细介绍了如何将 SAP IQ 或 SAP MaxDB 数据库的基于卷的备份映像恢复到新位置。
如需将 IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ 或 SAP MaxDB 数据库的卷级备份映像恢复到新目标,您还可以使用将数据库即时装载并迁移到新目标程序。
如需将 IBM Db2、PostgreSQL、SAP ASE、SAP IQ 和 SAP MaxDB 数据库的完整备份映像和增量备份映像恢复到新目标,请参阅将其他数据库的完整备份映像和增量备份映像恢复到新目标。
恢复程序
如需将卷级备份映像恢复到新目标,请按以下步骤操作:
- 在备份和灾难恢复服务管理控制台中,打开应用管理器。
右键点击受保护的数据库,然后选择访问。您可以使用受管理的备份方案状态过滤条件,仅显示受保护的数据库。
选择要恢复的最新快照,然后选择装载。
在装载位置下提供目标装载点,例如
/dmpRstNew
。此变量用作 TARGET_MNT_PNT。数据库备份已装载在 /dmpRstNew (TARGET_MNT_PNT) 下,日志备份已装载在 /dmpRstNew_archivelog (LOG_BKP_MNTPT) 下。
以根用户身份登录数据库服务器。将目录更改为
/act/custom_apps/<database type>/restore
。运行脚本。
SAP IQ
/act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh TARGET_MNT OSUSER CATALOG_DB_FILE SRC_DB_DBA_USER SRC_DB_DBA_PWD LOG_BKP_MNTPT RECOVERY_TIME JOBID INCR_BKP_LOC
脚本运行完毕后,连接到 IQ 数据库并确认数据库已恢复并处于在线状态。
dbisql -c "uid=username;pwd=password;eng=engine name;dbn=database name;" -nogui
SAP MaxDB
/act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh \ OSUSER \ TARGET_SERVER_NAME \ TARGET_DB_USER \ TARGET_DBUSER_PASSWD \ SOURCE_DBSID \ MANIFEST_FILE_LOC \ SRC_DB_VERSION \ ACT_JOBNAME \ TARGET_MNT_PNT \ LOG_BKP_MNTPT \ UNTIL_TIME \ BEGIN_TIME
连接到 MaxDB 数据库,并确认数据库已恢复且处于在线状态:
dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
恢复数据库后,请执行数据库转储备份,以在 backup_history_list 中生成备份历史记录点,这是执行日志备份所必需的。例如,以下方法:
dbmcli -d DB -u DBM_USER,DBM_PASSWORD -c backup_start TEMPLATE_NAME DATA AUTOIGNORE
如果没有此权限,未来的卷级备份会失败,并显示错误消息“fail to trigger autolog backup template”(无法触发自动日志备份模板)。
卸载已挂载的快照映像。
更改密码
在某些情况下,您可能需要更改数据库密码。
SAP IQ
登录目标数据库。对于名为
TARGET_SERVER_NAME
的数据库,如果数据库用户为SRC_DB_DBA_USER
,密码为SRC_DB_DBA_PWD
,则登录命令如下所示。dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=SRC_DB_DBA_PWD;dbn=TARGET_DB_NAME;eng=TARGET_SERVER_NAME;
运行以下命令以更改密码。
ALTER USER SRC_DB_DBA_USER IDENTIFIED BY NEW_PASSWORD
使用新密码重新登录以进行验证:
dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=NEW_PASSWORD;dbn=TARGET_DB_NAME;eng=TARGET_SERVER_NAME;
SAP MaxDB
如需更改密码,请以 DBM 用户身份登录到目标数据库:
dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD user_changepwd dbm new_password
例如,如果 DBM 用户将密码从 abcdef 更改为 fedcba,则登录:
dbmcli -d glxn -u dbm,abcdef
运行以下命令:
user_changepwd dbm abcdef
使用新密码重新登录:
dbmcli -d glxn -u dbm,fedcba