这两种方法都需要您自定义并运行配置文件。
以下部分详细介绍了如何将 SAP IQ 或 SAP MaxDB 数据库基于卷的备份映像恢复到新位置。
如需将 IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ 或 SAP MaxDB 数据库的卷级备份映像恢复到新目标,您还可以使用将数据库即时挂载并迁移到新目标过程。
如需将 IBM Db2、PostgreSQL、SAP ASE、SAP IQ 和 SAP MaxDB 数据库的完整+增量备份映像恢复到新目标,请参阅将其他数据库的完整+增量备份映像恢复到新目标。
恢复流程
如需将卷级备份映像恢复到新目标,请按以下步骤操作:
在 App Manager Applications 列表中,右键点击受保护的数据库,然后选择 Access。您可以使用受管理的备份方案状态过滤条件,仅显示受保护的数据库。
选择要恢复的最新快照,然后选择装载。
在装载位置下提供目标装载点,例如
/dmpRstNew
。此值用作变量 TARGET_MNT_PNT。数据库备份挂载在 /dmpRstNew (TARGET_MNT_PNT) 下,日志备份挂载在 /dmpRstNew_archivelog (LOG_BKP_MNTPT) 下。
以 root 用户身份登录数据库服务器。将目录更改为
/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