Skip to main content
NetApp Solutions SAP
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用存储快照备份执行SAP HANA系统刷新操作的注意事项

贡献者

目标系统上的租户名称

执行SAP HANA系统刷新所需的步骤取决于源系统租户配置以及目标系统上所需的租户名称、如下图所示。

由于租户名称是在系统数据库中配置的、因此、在恢复系统数据库后、目标系统也会提供源系统的租户名称。因此、目标系统上的租户只能使用与源租户相同的名称进行恢复、如选项1所示。如果目标系统上的租户名称必须不同、则必须先使用与源租户相同的名称恢复租户、然后将其重命名为所需的目标租户名称。这是选项2。

此规则的一个例外是具有单个租户的SAP HANA系统、其中租户名称与系统SID相同。此配置是首次安装SAP HANA后的默认配置。SAP HANA数据库会标记此特定配置。在这种情况下、可以使用目标系统的租户名称在目标系统上执行租户恢复、该名称也必须与目标系统的系统SID相同。此工作流显示在选项3中。

备注 一旦在源系统上执行任何租户创建、重命名或删除操作、SAP HANA数据库就会删除此配置标志。因此、即使已将配置恢复为租户= SID、此标志也不再可用、并且无法再使用工作流3进行租户恢复。在这种情况下、所需的工作流为选项2。

启用了SAP HANA加密的系统刷新工作流

启用SAP HANA持久性加密后、需要执行其他步骤、才能在目标系统上恢复SAP HANA数据库。

在源系统上、您需要为系统数据库以及所有租户数据库创建加密根密钥备份。在执行恢复操作之前、必须将备份文件复制到目标系统、并且必须从备份中导入根密钥。

备份根密钥

如果对根密钥进行了任何更改、则始终需要备份根密钥。backup命令需要使用DBID作为CLI参数。可以使用以下SQL语句来标识DBID。

《SAP HANA管理指南》中提供了SQL语句和其他文档、 "备份根密钥| SAP帮助门户" 步骤如下展示了具有单个租户SS1的HANA系统所需的操作、并在源系统上执行。

  1. 为系统和租户(SS1)数据库设置备份密码(如果尚未设置)。

hdbsql SYSTEMDB=> ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD Netapp123;
0 rows affected (overall time 3658.128 msec; server time 3657.967 msec)
hdbsql SYSTEMDB=>
hdbsql SS1=> ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD Netapp123;
0 rows affected (overall time 2424.236 msec; server time 2424.010 msec)
hdbsql SS1=>
  1. 为系统和租户(SS1)数据库创建备份根密钥。

ss1adm@hana-1:/usr/sap/SS1/home> /usr/sap/SS1/HDB00/exe/hdbnsutil -backupRootKeys root-key-backup-SS1-SYSTEMDB.rkb --dbid=1 --type='ALL'
Exporting root key backup for database SYSTEMDB (DBID: 1) to /usr/sap/SS1/home/root-key-backup-SS1-SYSTEMDB.rkb
done.
ss1adm@hana-1:/usr/sap/SS1/home> /usr/sap/SS1/HDB00/exe/hdbnsutil -backupRootKeys root-key-backup-SS1-SS1.rkb --dbid=3 --type='ALL'
Exporting root key backup for database SS1 (DBID: 3) to /usr/sap/SS1/home/root-key-backup-SS1-SS1.rkb
done.
  1. 验证根密钥备份(可选)

ss1adm@hana-1:/usr/sap/SS1/home> ls -al root*
-rw-r----- 1 ss1adm sapsys 1440 Apr 24 07:00 root-key-backup-SS1-SS1.rkb
-rw-r----- 1 ss1adm sapsys 1440 Apr 24 06:54 root-key-backup-SS1-SYSTEMDB.rkb
ss1adm@hana-1:/usr/sap/SS1/home>

ss1adm@hana-1:/usr/sap/SS1/home> /usr/sap/SS1/HDB00/exe/hdbnsutil -validateRootKeysBackup root-key-backup-SS1-SS1.rkb
Please Enter the password:
Successfully validated SSFS backup file /usr/sap/SS1/home/root-key-backup-SS1-SS1.rkb
done.

ss1adm@hana-1:/usr/sap/SS1/home> /usr/sap/SS1/HDB00/exe/hdbnsutil -validateRootKeysBackup root-key-backup-SS1-SYSTEMDB.rkb
Please Enter the password:
Successfully validated SSFS backup file /usr/sap/SS1/home/root-key-backup-SS1-SYSTEMDB.rkb
done.

在目标系统导入根密钥

首次执行系统刷新操作时、最初需要导入根密钥。如果源系统上的根密钥未更改、则不需要额外导入。导入命令需要使用DBID作为CLI参数。DBID的标识方式与根密钥备份的标识方式相同。

  1. 在我们的设置中、根密钥会从源系统复制到NFS共享

hana-1:~ # cp /usr/sap/SS1/home/root-key-backup-SS1-SS1.rkb /mnt/sapcc-share/SAP-System-Refresh/
hana-1:~ # cp /usr/sap/SS1/home/root-key-backup-SS1-SYSTEMDB.rkb /mnt/sapcc-share/SAP-System-Refresh/
  1. 现在可以使用hdbnsutil导入根密钥。必须使用命令提供系统和租户数据库的DBID。此外、还需要备份密码。

qs1adm@hana-7:/usr/sap/QS1/HDB11> ./exe/hdbnsutil -recoverRootKeys /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SYSTEMDB.rkb --dbid=1 --type=ALL
Please Enter the password:
Importing root keys for DBID: 1 from /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SYSTEMDB.rkb
Successfully imported root keys from /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SYSTEMDB.rkb
done.

qs1adm@hana-7:/usr/sap/QS1/HDB11> ./exe/hdbnsutil -recoverRootKeys /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SS1.rkb --dbid=3 --type=ALL Please Enter the password:
Importing root keys for DBID: 3 from /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SS1.rkb
Successfully imported root keys from /mnt/sapcc-share/SAP-System-Refresh/root-key-backup-SS1-SS1.rkb
done.
qs1adm@hana-7:/usr/sap/QS1/HDB11>

如果目标上不存在DBID、则导入根密钥

如上一章所述、要导入系统和所有租户数据库的根密钥、需要使用DBID。虽然系统数据库始终为DBID=0、但租户数据库可以具有不同的DBID。

以上输出显示了两个租户、其中DBID=3和DBID=4。如果目标系统尚未托管DBID=4的租户、则根密钥导入将失败。在这种情况下、您需要先恢复系统数据库、然后使用DBID=4导入租户的密钥。