文档

SAP HANA备份常见问题

更新时间:

本文为您介绍云备份使用中SAP HANA备份常见的问题以及对应的解决办法。

SAP HANA备份是什么

您可以使用云备份在阿里云上管理您SAP系统的备份服务。

云备份通过了SAP HANA Backint集成认证,兼容SAP HANA 1.0和2.0版本。您可以使用云备份客户端来备份ECS实例中部署的SAP HANA实例,并在需要时恢复数据库。更多信息请参见SAP HANA功能概览

此外,您还可以将数据中心的本地文件、VMWare虚拟机等备份到阿里云上的备份库中,针对阿里云上各个类型的数据,包括ECS文件、Oracle及MS SQL Server数据库、NAS服务、以及OSS服务上的数据,云备份提供了简单易用的原生数据保护功能。更多信息请参见什么是云备份

SAP HANA备份适用范围

  • 部署在阿里云ECS上的SAP HANA实例

  • Backint支持SAP HANA 1.0 SPS 09(Revision 94)及更高版本和SAP HANA 2.0 SPS 01及更高版本的MDC(Multitenant Database Containers),不支持SAP HANA 1.0 Single-container(单租户)的版本。

注册SAP HANA实例后,如何查看云备份客户端的运行状态和日志?

在云备份控制台注册完成后,SAP HANA实例的状态为已注册

默认日志路径为:/opt/alibabacloud/hbrclient/logs

您可以执行ps axu|grep hybrid,查看备份客户端运行状态。如果存在进程信息,说明已经启动,一切运行正常。

root     11472  0.0  0.0   9288  1552 pts/2    S+   16:11   0:00 grep --color=auto hybrid
root     30480  0.0  0.2  56296 17028 ?        Ssl  13:26   0:04 /opt/alibabacloud/hbr/client/hybridbackup -p 0

备份日志路径

HANA数据库备份客户端日志:/opt/alibabacloud/hbr/logs

HANA数据库backint日志:/usr/sap/{SID}/SYS/global/hdb/logs/

HANA数据库的备份日志:/usr/sap/{SID}/HDB{InstanceNumber}/{hostname}/trace/DB_{DBNAME}/backup.log

HANA数据库会自动管理和存储日志记录。您可以使用HANA Studio或者其它相关的工具,执行以下 SQL来查询和获取这些日志备份的内容。

select CAT.* from SYS_DATABASES.M_BACKUP_CATALOG CAT JOIN SYS_DATABASES.M_BACKUP_CATALOG_FILES FILS on CAT.BACKUP_ID = FILS.BACKUP_ID where CAT.entry_type_name = 'log backup' and CAT.state_name = 'successful' and FILS.DESTINATION_TYPE_NAME = 'backint' and CAT.database_name = 'SYSTEMDB' order by sys_end_time

同实例恢复时,数据库无法连接,如何解决?

当您新建恢复任务并恢复到源实例时,选择数据库发现数据库状态为无法连接,请进行如下操作:

image

  1. 检查HANA数据库是否启动。

  2. 检查SSL证书是否过期,如果证书过期,可选择:

    • 更换证书。

      image

    • 在控制台配置不验证SSL证书。

同实例恢复时,获取不到数据,如何解决?

当您新建恢复任务并恢复到源实例时,选择数据库发现没有数据,需要检查客户端状态是否正常。

image

HANA中sql执行失败,如何解决?

HANA 日志空间已满,可能导致 SQL 执行失败。请先清理磁盘空间,再重新尝试。

如何手动删除备份记录?

云备份侧无法手动删除 SAP HANA 数据,只能等待数据自动过期。您可以选中下述选项通过 SAP Studio 来进行删除操作。

image

实例已激活,数据库页面提示内部错误

如果SAP HANA备份控制台的数据库页面出现了错误提示,需要检查 HANA 许可证。您可以连接到 SYSTEMDB 并执行以下 SQL 查询所有数据库是否都包含了许可证。如果查询结果为空,则表示某个数据库缺少许可证。

SELECT * FROM M_LICENSE

更多信息,请参考https://launchpad.support.sap.com/#/notes/2619291

备份失败常见问题

  1. 如果/opt/alibabacloud/hbr/logs/hybridbackup.log中,出现如下错误信息,表明本地时间与服务端存在显著差异,建议首先调整本地时间,更佳的做法是启用NTP自动同步以确保时间的一致性。

    time="2021-11-04T16:24:17+08:00" level=info msg="InvalidTimeStamp.Expired retry, retryDelay: 5000 ms, retry times: 14" file=client.go line=377
  2. 当出现备份任务失败,或备份任务全部显示取消状态(非人为手动取消),同时在backup.log日志中有No space left on device的提示,说明本地磁盘空间已满,需要清理之后再进行备份。

  3. 如果/opt/alibabacloud/hbr/logs/hybridbackup.log中,出现如下错误信息,并且控制台上没有显示任何错误信息,这可能是因为您配置了其他定时备份任务,与 SAP HANA 备份任务在执行时发生了冲突。

    time="2021-08-29T01:10:00+08:00" level=error msg="Execute hana backup failed : hbr: client returned error: ErrorCode=HanaSqlError, ErrorMessage=SQL Error 447 - backup could not be completed: [110122] A data backup cannot be created because another data backup is running or a storage snapshot has been prepared., Data=, values=map[]" file=hanabackupjob.go line=98
  4. 如果出现了非预期的备份失败或未执行告警,并且在备份历史中没有看到备份完成的记录,那么可能是MQTT请求超时导致的,可以在/opt/alibabacloud/hbr/logs/hybridbackup.log中查看对应时刻的日志。

  5. 如果/opt/alibabacloud/hbr/logs/hybridbackup.log中,出现如下错误信息,密码可能已经过期,需要及时更新。

    time="2023-11-26T00:00:08+08:00" level=error msg="SAP Error: SQL Error 447 - backup could not be completed: [110203] Not all data could be written: Expected 4096 but transferred 0, [110507] Backint exited with exit code 1 instead of 0. console output: Internal Error: The user account is in unknown status. " file=errorwrapper.go line=28
  6. 如果/opt/alibabacloud/hbr/logs/hybridbackup.log中,出现如下错误信息,可能是您的时间戳不准确导致服务端拒绝了请求。

    time="2024-06-23T01:36:46+08:00" level=error msg="HBR DescribeUserBusinessStatus returns hbr: service returned error: StatusCode=400, Code=InvalidSecurityToken.Expired, Message=Specified SecurityToken is expired., RequestId=A6CDF56F-CA56-53E8-9342-24E19F768D40" file=client.go line=428

    您可选择以下方式检查时间戳:

    • 执行以下命令,观察返回结果中的System Time,该参数反映了当前系统时间与NTP时间的差异。若此偏差在几毫秒以内,即可判断时间戳处于正常状态。

      sudo chronyc tracking
    • 执行以下命令,观察返回结果中的offset,该参数反映了当前系统时间与NTP时间的差异。若此偏差在几毫秒以内,即可判断时间戳处于正常状态。

      ntpd -q

查看备份任务报错

失败现象:当查看备份任务时,出现如下报错。

image

且/opt/alibabacloud/hbr/logs/hybridbackup.log中,出现如下错误信息:

time="2023-12-01T14:38:23+08:00" level=error msg="prepare stmt SELECT count(*) FROM sys_databases.M_BACKUP_PROGRESS error : SQL Error 437 - only commands for license handling are allowed in current state" file=db.go line=220

解决方法:由于 HANA 2.0 需要注册许可证,因此需要使用多用户模式。

恢复任务失败如何解决?

失败现象:通过指定时间或指定备份使用较早时间点的备份点进行恢复,然后通过指定时间使用最新时间备份点再次进行恢复,恢复失败。

解决方法:连续多次恢复时,建议通过指定备份方式,选择备份点进行恢复。

云备份可以备份线下数据中心IDC里部署的SAP HANA吗?

不支持。但您可以先把SAP HANA备份到本机存储上,然后以文件的方式再备份到云备份。更多信息,请参见备份本地文件

备份SAP HANA,还需要额外再购买其他的云存储产品吗?

不需要。云备份是通过backint直接调用SAP HANA的备份接口,备份数据通过Pipe的方式备份到云备份后端的云存储上,不会占用SAP HANA ECS实例的存储空间,因此不需要再额外购买其他的云存储产品。

Single-container(单租户)的SAP HANA,可以用云备份的"SAP HANA备份"吗?

不可以,云备份控制台的SAP HANA备份使用的是backint接口。有两种解决方案:

  • 方案一:将SAP HANA备份到ECS实例的云盘上,使用云备份的本地文件备份功能。更多信息,请参见备份本地文件

  • 方案二:将SAP HANA从Single-container转换成multi-container,具体操作方法请参考SAP官方文档或咨询您的SAP伙伴。

SAP HANA的不同环境的备份可以放在不同备份仓库吗?

可以,在云备份控制台注册SAP HANA实例时,您可以新建或选择已有的备份仓库。当前支持的恢复方式包括如下:

SAP HANA备份支持跨地域(异地)备份功能吗?

支持。具体请参见使用镜像备份库实现跨地域备份

配置SAP HANA备份有哪些注意事项?

  • 如果您的SAP HANA是高可用部署架构,注册SAP HANA实例的主机地址请填写 HAVIP(高可用虚拟IP地址),这样可以保证集群发生切换后,备份作业也可以正常执行。

  • 备份参数默认不会开启backint备份SAP HANA的日志和catalog的功能,需要您手工为System DB和每个Tenant DB勾选上此配置,以确保在需要的时候可以正常完成数据库恢复操作。

image

说明

Tenant DB的参数配置会继承System DB的参数配置,请您仔细检查每个数据库的参数配置符合您的预期。

如何设置SAP HANA的备份数据保留周期?

  1. 登录云备份控制台,选择对应的实例。

    image

  2. 在数据库页签,选择System DB或Tenant DB,单击更多>设置保留时间

    image

  3. 默认的备份保留时间是永久保留,您可以按需修改。

    image

    参数

    说明

    保留时间设置

    • 自定义

      选择此项后,您可以自定义每天执行保留任务的时间,以及备份数据的保留时间。

    • 永久保留

      选择此项后,云备份将为您永久保留备份数据。

    保留任务执行时间

    仅当保留时间设置配置为自定义时,需要配置该参数。选择每天执行保留任务的时间。时间精确到秒。

    说明

    建议避开备份任务繁忙或者其他业务繁忙的时间段。

    备份保留时间

    仅当保留时间设置配置为自定义时,需要配置该参数。选择保留备份数据的时间。

    单位:天、周、月、年。最短保留时间为1天,最长保留时间为10年。

    说明

    SAP HANA备份保留时间到期后,备份服务会自动清理过期的BACKINT备份与文件备份相关的catalog记录以及数据,清理后不可恢复。请根据实际情况谨慎配置备份保留时间。

安装SAP HANA客户端失败,错误提示“有多个/usr/sap/<SID>/SYS/global/hdb/opt路径”

  1. 远程登录目标ECS实例。

  2. 将不需要做备份的SAP HANA实例对应的/usr/sap/<SID>/SYS/global/hdb/opt重命名成/usr/sap/<SID>/SYS/global/hdb/opt_backup

  3. 返回云备份控制台,为该SAP HANA重新安装客户端。