从永久性磁盘备份挂载和恢复 SAP HANA 单租户数据库

如需从基于永久性磁盘的 SAP HANA 数据库备份恢复和恢复单个租户,请按以下步骤操作。

挂载备份

使用管理控制台将备份装载到目标服务器:

  1. 停止运行的 HANA 实例(仅在恢复到源时需要)。
  2. 登录管理控制台,前往应用页面。
  3. 选择相应数据库,然后选择访问
  4. 选择要恢复的备份,然后点击装载
  5. 在“Mount”(挂载)页面上,选择目标 Project name(项目名称)、Region(区域)、Zone(可用区)和目标 GCE instance name(GCE 实例名称)。
  6. 更新数据卷日志卷日志备份卷的挂载位置。(为确保预检成功,请指定所有未使用的挂载位置。)
  7. 停用快照完整性检查选项。
  8. 运行预检检查。如果失败,请解决错误并重新运行,然后提交作业。
  9. 成功完成挂载作业后,您可以在目标主机上看到挂载点。
  10. 如果您已恢复到源实例,请重启实例。

恢复已挂载的单租户数据库

使用的变量示例:

  • 来源 DBSID:DM2
  • 目标 DBSID:NVM(必须在目标主机上预先配置。)
  • 数据卷:/hana/data_2
  • 日志数据量:/hana/log_2
  • 日志备份卷:/hanabackup_2、/hana/backup_2_533788010
  • 来源租户:DM2(数据文件位置:mnt00001/hdb00002.00003、mnt00001/hdb00003.00003)
  • 目标租户:NVM

过程

  1. 以 root 用户身份登录目标主机,然后更改文件的所有权:

    chown -R nvmadm:sapsys /hanabackup_2 /hana/backup_2_533788010
    
  2. 确认清单文件是在挂载操作期间创建的:

    cd /act/touch
    cat dm2_HANA.manifest
    

    示例输出如下所示: SYSTEMDB=mnt00001/hdb00001 DM2=mnt00001/hdb00002.00003:mnt00001/hdb00003.00003

  3. 确认目标服务器上是否存在与清单文件中显示的租户数据库相关的必要目录:

    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
    
  4. 停止目标服务器上的租户数据库:

    hdbsql -U ACTBACKUP
    hdbsql SYSTEMDB=> alter system stop database NVM;
    
  5. 将文件从已装载的装载点复制到目标服务器装载点:

    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/
    
  6. 确保更改复制文件的权限:

    chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00002.00003
    chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00003.00003
    
  7. 检查并确保 SYSTEMDB 已启动。

  8. 使用时间点恢复功能恢复租户数据库。

    • 如果已装载的数据库包含多个日志挂载点,请传递逗号分隔的挂载点日志路径:
    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
    
  9. 恢复租户数据库后,请检查数据库的状态:

    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 | ? |
    
  10. 执行卸载并删除(以移除备份磁盘 /hana/data_2 等)。