如需从基于永久性磁盘的 SAP HANA 数据库备份恢复和恢复单个租户,请按以下步骤操作。
挂载备份
使用管理控制台将备份装载到目标服务器:
- 停止运行的 HANA 实例(仅在恢复到源时需要)。
- 登录管理控制台,前往应用页面。
- 选择相应数据库,然后选择访问。
- 选择要恢复的备份,然后点击装载。
- 在“Mount”(挂载)页面上,选择目标 Project name(项目名称)、Region(区域)、Zone(可用区)和目标 GCE instance name(GCE 实例名称)。
- 更新数据卷、日志卷和日志备份卷的挂载位置。(为确保预检成功,请指定所有未使用的挂载位置。)
- 停用快照完整性检查选项。
- 运行预检检查。如果失败,请解决错误并重新运行,然后提交作业。
- 成功完成挂载作业后,您可以在目标主机上看到挂载点。
- 如果您已恢复到源实例,请重启实例。
恢复已挂载的单租户数据库
使用的变量示例:
- 来源 DBSID:DM2
- 目标 DBSID:NVM(必须在目标主机上预先配置。)
- 数据卷:/hana/data_2
- 日志数据量:/hana/log_2
- 日志备份卷:/hanabackup_2、/hana/backup_2_533788010
- 来源租户:DM2(数据文件位置:mnt00001/hdb00002.00003、mnt00001/hdb00003.00003)
- 目标租户:NVM
过程
以 root 用户身份登录目标主机,然后更改文件的所有权:
chown -R nvmadm:sapsys /hanabackup_2 /hana/backup_2_533788010
确认清单文件是在挂载操作期间创建的:
cd /act/touch cat dm2_HANA.manifest
示例输出如下所示:
SYSTEMDB=mnt00001/hdb00001
DM2=mnt00001/hdb00002.00003:mnt00001/hdb00003.00003
确认目标服务器上是否存在与清单文件中显示的租户数据库相关的必要目录:
ls -ltr /hana/data/NVM/mnt00001/hdb00002.00003/ total 103252 -rw-r--r-- 1 nvmadm sapsys 0 Jun 13 20:11 __DO_NOT_TOUCH_FILES_IN_THIS_DIRECTORY__ -rw-r--r-- 1 nvmadm sapsys 269811712 Jun 14 19:26 datavolume_0000.dat ls -ltr /hana/data/NVM/mnt00001/hdb00003.00003/ total 3801248 -rw-r--r-- 1 nvmadm sapsys 0 Jun 13 20:11 __DO_NOT_TOUCH_FILES_IN_THIS_DIRECTORY__ -rw-r--r-- 1 nvmadm sapsys 3892314112 Jun 14 19:29 datavolume_0000.dat
停止目标服务器上的租户数据库:
hdbsql -U ACTBACKUP hdbsql SYSTEMDB=> alter system stop database NVM;
将文件从已装载的装载点复制到目标服务器装载点:
cp /hana/data_2/DM2/mnt00001/hdb00002.00003/* /hana/data/NVM/mnt00001/hdb00002.00003/ cp /hana/data_2/DM2/mnt00001/hdb00003.00003/* /hana/data/NVM/mnt00001/hdb00003.00003/
确保更改复制文件的权限:
chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00002.00003 chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00003.00003
检查并确保 SYSTEMDB 已启动。
使用时间点恢复功能恢复租户数据库。
- 如果已装载的数据库包含多个日志挂载点,请传递逗号分隔的挂载点日志路径:
hdbsql -jAU ACTBACKUP RECOVER DATABASE FOR NVM UNTIL TIMESTAMP '2024-06-14 17:16:00' CLEAR LOG USING CATALOG PATH ('/hana/backup_2_533788010/log/DB_DM2') USING DATA PATH ('/hana/data/NVM') USING LOG PATH ('/hanabackup_2/log/DB_DM2','/hana/backup_2_533788010/log/DB_DM2') USING SNAPSHOT CHECK ACCESS USING FILE;
- 如果您仅从数据库映像恢复,请使用以下命令:
hdbsql -jAU ACTBACKUP RECOVER DATA FOR $TSID USING SNAPSHOT CLEAR LOG
恢复租户数据库后,请检查数据库的状态:
hdbsql -jAU ACTBACKUP hdbsql SYSTEMDB=> select * from m_databases; | DATABASE | DESCRIPTION | ACT | ACTIVE | OS_USER | OS_GROUP | RESTART | F | | -------- | --------------- | --- | ------ | -------- | -------- | ------- | - | | SYSTEMDB | SystemDB-NVM-00 | YES | ACTIVE | | | DEFAULT | ? | | NVM | NVM-00 | YES | ACTIVE | | | DEFAULT | ? |
执行卸载并删除(以移除备份磁盘 /hana/data_2 等)。