使用存储快照备份执行SAP HANA系统刷新操作的注意事项
用于优化SAP生命周期管理的NetApp解决方案集成到SAP HANA数据库和生命周期管理工具中、将高效的应用程序集成数据保护与SAP测试系统的灵活配置相结合。
目标系统上的租户名称
执行SAP HANA系统刷新所需的步骤取决于源系统租户配置以及目标系统上所需的租户名称、如下图所示。
由于租户名称是在系统数据库中配置的、因此、在恢复系统数据库后、目标系统也会提供源系统的租户名称。因此、目标系统上的租户只能使用与源租户相同的名称进行恢复、如选项1所示。如果目标系统上的租户名称必须不同、则必须先使用与源租户相同的名称恢复租户、然后将其重命名为所需的目标租户名称。这是选项2。
此规则的一个例外是具有单个租户的SAP HANA系统、其中租户名称与系统SID相同。此配置是首次安装SAP HANA后的默认配置。SAP HANA数据库会标记此特定配置。在这种情况下、可以使用目标系统的租户名称在目标系统上执行租户恢复、该名称也必须与目标系统的系统SID相同。此工作流显示在选项3中。
|
|
一旦在源系统上执行任何租户创建、重命名或删除操作、SAP HANA数据库就会删除此配置标志。因此、即使已将配置恢复为租户= SID、此标志也不再可用、并且无法再使用工作流3进行租户恢复。在这种情况下、所需的工作流为选项2。 |


启用了SAP HANA加密的系统刷新工作流
启用 SAP HANA 持久性加密后,根据加密根密钥所使用的安全存储、实例 SFSS 或本地安全存储 LSS,在目标系统上恢复 SAP HANA 数据库之前,需要执行其他步骤。
使用 SFSS 时,根密钥存储在文件系统中,必须在 HANA 数据库之外单独备份。然后必须在目标系统上导入根密钥备份,以启用 HANA 数据库的恢复。如果未更改根密钥,则只需执行一次此操作。
使用 LSS,只需一次操作即可将根密钥与 HANA 数据库一起备份和恢复。为了能够恢复 HANA 数据库,需要具有用于备份根密钥的密码。
所需的操作将在以下章节中进行更详细的描述。
安全存储 SFSS
在源系统上、您需要为系统数据库以及所有租户数据库创建加密根密钥备份。在执行恢复操作之前、必须将备份文件复制到目标系统、并且必须从备份中导入根密钥。
另请参见 "《 SAP HANA 管理指南》"。
备份根密钥
如果对根密钥进行了任何更改、则始终需要备份根密钥。backup命令需要使用DBID作为CLI参数。可以使用以下SQL语句来标识DBID。

《SAP HANA管理指南》中提供了SQL语句和其他文档、 "备份根密钥| SAP帮助门户" 步骤如下展示了具有单个租户SS1的HANA系统所需的操作、并在源系统上执行。
-
为系统和租户(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=>
-
为系统和租户(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.
-
验证根密钥备份(可选)
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的标识方式与根密钥备份的标识方式相同。
-
在我们的设置中、根密钥会从源系统复制到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/
-
现在可以使用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导入租户的密钥。
安全存储 LSS
|
|
您需要至少使用 HANA 版本 2.00.088,否则描述的程序将不起作用,另请参阅 SAP note 3613110。 |
为了恢复使用加密和 LSS 的 HANA 系统,您需要用于备份根密钥的密码。
SQL 语句
alter system set encryption root keys backup password <backup-pw-of-source-system>;
可用于在目标系统的 LSS 配置中设置源系统的密码。系统和租户数据库必须使用相同的语句。
如果尚未预先设置密码,则可以在恢复操作期间提供密码。
系统数据库:
./exe/Python/bin/python /usr/sap/QM1/HDB22/exe/python_support/recoverSys.py --command "RECOVER DATA USING SNAPSHOT CLEAR LOG ENCRYPTION ROOT KEYS BACKUP PASSWORD '<backup-pw-of-source-system>'"
租户数据库:
hdbsql SYSTEMDB=> RECOVER DATA for QM1 USING SNAPSHOT CLEAR LOG ENCRYPTION ROOT KEYS BACKUP PASSWORD '<backup-pw-of-source-system>';