saphana数据库Alert告警:check type: id 130 alert check own certificate expiration date

一、概述

数据库安装阶段,系统会自动创建并启用一套专用 PKI,用于外部通信交互。该 PKI 会部署在每一台运行数据库服务的主机,同时适配系统内所有租户数据库。 租户专属证书颁发机构(CA)、由这些 CA 签发的主机 X.509 证书、私钥以及整套客户端 PKI 组件,全部存储在数据库证书集合中。 所有证书统一采用SHA-256+RSA 4096 位密钥高强度加密签名算法。

在 HANA Studio 告警标签页可看到提示信息:1 份自有证书或证书链即将到期,告警等级为中等。

二、问题排查与定位

操作前提

使用拥有足够权限的SYSTEM账号登录租户数据库,执行以下 SQL 查询证书过期时间与证书名称。

  1. 查询证书全量信息
SELECT * FROM CERTIFICATES;
  1. 查询 PSE 密钥库内证书关联信息
SELECT * FROM PSE_CERTIFICATES;

查询结果解读

查询结果中会出现目标证书:_SYS_CLIENTPKI_HOST_CERT(客户端 PKI 主机证书),文中案例该证书到期时间为 2023 年 8 月 25 日。

主机证书说明

主机证书用于校验数据库服务身份真实性,证书备用名称(SAN)字段会包含集群内所有 HANA 主机名。_SYS_CLIENTPKI_HOST_CERT主机证书存放在数据库证书仓库,并分配至_SYS_CLIENTPKI证书集合,用于 SSL 通信。

  • 证书默认有效期:180 天
  • 自动续期触发条件:
    1. 距离到期剩余 32 天系统自动更新;
    2. HANA 数据库完整重启;
    3. 集群新增 / 移除主机节点。

三、关键参数校验

执行证书更新前后,必须检查global.ini配置文件[communication]段下参数sslclientpki,值需设置为on。 该参数开启后,客户端 PKI 功能才能正常生效,证书、私钥、证书集合才能正常生成与更新。

查看参数 SQL:

SELECT * FROM M_INIFILE_CONTENTS WHERE FILE_NAME = 'global.ini' AND SECTION = 'communication' AND KEY = 'sslclientpki';

若参数为 off,执行修改:

ALTER SYSTEM SET communication.sslclientpki = 'on' RECONFIGURE;

四、证书手动更新操作步骤

适用场景

生产环境无法停机重启数据库,无法等待系统自动续期,使用 SQL 在线刷新证书,无需停机。

  1. 先执行查询确认当前证书到期时间(租户库 + 系统库 SYSTEMDB 均需核查)

sql

SELECT CERTIFICATE_NAME, SUBJECT_COMMON_NAME, ISSUER_COMMON_NAME, VALID_FROM, VALID_UNTIL, COMMENT FROM CERTIFICATES; SELECT * FROM PSE_CERTIFICATES;
  1. 登录SYSTEMDB,使用 SYSTEM 账号执行证书刷新语句(全集群、所有租户同步更新)

sql

ALTER SYSTEM CLIENTPKI UPDATE CERTIFICATES;
  1. 更新完成后再次执行查询,核对VALID_UNTIL有效期已顺延 180 天。

证书数据区分说明

  1. _SYS_CLIENTPKI_ROOT_CERT:客户端 PKI 根证书
    • 有效期极长(案例中至 2038 年),不会触发 130 告警;
    • 证书用途:CHAIN(证书链)
  2. _SYS_CLIENTPKI_HOST_CERT:主机自有证书
    • 有效期仅 180 天,是 130 告警的触发源;
    • 证书用途:OWN(自有业务证书)

五、核心结论

  1. 主机证书存在自动续期机制:到期前 32 天、数据库重启、集群节点变更时自动刷新;
  2. 生产环境无法重启数据库、且未到自动续期时间时,直接执行ALTER SYSTEM CLIENTPKI UPDATE CERTIFICATES手动刷新证书,消除告警;
  3. 操作前务必确认sslclientpki参数为开启状态,否则证书更新失败。

参考文章:HANA Alert id 130 Check Own Certificate Expiration... - SAP Community