注册
达梦数据库 (DM) 在线更换授权文件操作指南
技术分享/ 文章详情 /

达梦数据库 (DM) 在线更换授权文件操作指南

JC 2025/09/30 39 0 0

一、 概述

本文档详细阐述了如何在不中断数据库服务的情况下,在线更换达梦数据库的授权文件 (dm.key),并验证新授权生效的完整流程。所有操作均在数据库服务器端执行。

二、 操作前准备 (Prerequisites)

  1. 获取新的授权文件:授权文件通常分为两种类型:

    • 临时授权:若尚未完成采购或正式授权未交付,可联系达梦销售人员申请临时授权。文件名通常包含版本、CPU架构和到期日,例如:dm8.4-arm-企业版2025.12.25.zip
    • 正式授权:采购完成后,可使用达梦数据库光盘或交付文件中的 .key 文件。

    小贴士:授权文件名解读
    dm8.4-arm-企业版2025.12.25.zip 为例:

    • dm8.4:达梦数据库主版本号。
    • arm:适配的服务器 CPU 架构(常见有 x86_64, aarch64 等)。
    • 企业版:数据库产品版本类型(如企业版、安全版、标准版)。
    • 2025.12.25:该临时授权的到期日期。
  2. 服务器访问权限:准备好可登录数据库服务器的 SSH 账户,该账户需具备 root 权限或 sudo 能力,以便进行文件操作和权限变更。

  3. 数据库管理员凭证:准备好数据库 SYSDBA 用户(或其他具备相应权限的管理用户)的密码。

  4. 文件传输工具:准备好 SFTP, SCP, WinSCP 或 MobaXterm 等文件传输工具。

三、 操作步骤 (Step-by-Step Guide)

步骤 1:准备新的授权文件

在您的本地计算机上进行以下操作:

  1. 解压缩:将收到的授权文件 ZIP 压缩包(例如 dm8.4-x86-linux-企业版2025.6.25.zip)解压。
  2. 重命名:解压后会得到一个 .key 文件(例如 DM1701120153.key)。为符合数据库默认识别规则,请将其重命名为 dm.key
步骤 2:定位并备份旧的授权文件

登录到您的达梦数据库服务器,执行以下操作:

  1. 查找 bin 目录:授权文件 dm.key 位于达梦数据库安装目录下的 bin 文件夹内。若您不确定安装路径,可使用以下命令查找,否则可直接跳至下一步。

    # 查找 dmserver 可执行文件的位置,其所在目录即为 bin 目录 dirname $(find / -name dmserver 2>/dev/null)
  2. 进入 bin 目录:根据查找到的路径,进入该目录。

    # 示例路径 cd /home/dmdba/dmdbs/bin
  3. 备份旧授权文件:为防止新授权文件异常导致服务问题,强烈建议备份现有 dm.key 文件。

    # 推荐在备份文件名中加入日期,便于追溯 mv dm.key dm.key_bak_$(date +%Y%m%d)

    此操作可确保在更换失败时,能够快速恢复至原始状态。

步骤 3:上传新的授权文件

使用文件传输工具(如 SFTP),将步骤 1 中准备好的新 dm.key 文件上传至服务器的 bin 目录。

步骤 4:调整文件权限

为确保数据库服务进程有权读取该文件,需要调整其所有者和权限。

# 进入 bin 目录后执行以下命令 # 将文件所有者变更为达梦数据库运行用户(通常为 dmdba:dinstall) chown dmdba:dinstall dm.key # 赋予适当的读写权限 chmod 644 dm.key
步骤 5:重载授权文件使其生效

此步骤将使数据库动态加载新的授权信息,无需重启服务。

  1. 切换到达梦用户

    su - dmdba
  2. 连接数据库:使用达梦命令行工具 disql

    # 交互式登录(推荐) disql SYSDBA@localhost:5236 # 然后根据提示输入密码 # 或者在命令中提供密码和连接信息(注意密码泄露风险、注意保留密码部分的单引号和双引号) # disql SYSDBA/'"YOUR_PASSWORD"'@localhost:5236
  3. 执行重载命令:在 SQL> 提示符下,执行系统存储过程。

    sp_load_lic_info;
步骤 6:验证授权是否更新成功

为了确认新授权已成功加载,您可以通过 disql、DM 管理工具或任何其他 SQL 客户端执行以下查询。

  1. 执行查询语句

    -- 查询授权详细信息 SELECT SERIES_NO AS "序列号", EXPIRED_DATE AS "过期日期", AUTHORIZED_CUSTOMER AS "授权客户", PROJECT_NAME AS "项目名称", CLUSTER_TYPE AS "集群类型", DECODE(SERVER_TYPE, 1, '正式版', 2, '测试版', 3, '试用版', '其他') AS "授权类型", DECODE(SERVER_SERIES, 'P', '单机版', 'S', '标准版', 'E', '企业版', 'A', '安全版', 'T', '可信版', 'X', '定制版', '其他') AS "产品版本" FROM V$LICENSE;
  2. 检查输出结果

    • 重点核对查询结果中的 EXPIRED_DATE (过期日期) 字段。
    • 如果为临时授权,该日期应更新为您新授权文件的有效期。
    • 如果为正式授权,该值通常为 NULL,代表永久授权

四、 常见问题 (FAQ)

  1. 问:如果我的数据库 bin 目录下原本就没有 dm.key 文件,是怎么回事?
    :如果 bin 目录下没有 dm.key 文件,达梦数据库会启用一个默认的试用授权。其有效期通常为自该数据库安装包生成日期起,延后一年。

  2. 问:我只使用达梦的管理工具或客户端,是否也需要授权文件?
    :不需要。授权文件 dm.key 仅针对达梦数据库的服务端。所有客户端工具和驱动程序均无授权限制,可以永久免费使用。

  3. 问:在达梦数据守护 (DMDataWatch) 或读写分离集群环境中,如何更新授权?
    :您需要为集群中的每一个数据库实例节点(主库、备库)都执行上述完整的授权更换步骤。监视器 (Monitor) 节点无需授权文件,因此不需要操作。

  4. 问:更新授权后,日志中出现“授权不匹配”或类似错误,是什么原因?
    :这通常是由于授权文件的 CPU 架构与服务器实际的 CPU 架构不符导致的。请核对您收到的授权文件(文件名或说明中通常会标注 CPU 架构)。您可以使用以下命令在服务器上确认 CPU 架构:

    hostnamectl | grep Architecture

    确保授权文件与服务器架构一致。如果不一致,请联系达梦公司获取正确架构的授权文件。

  5. 问:授权到期后数据库会停机吗?如何确认停机原因?
    :是的,部分版本授权到期后数据库服务不排除会自动关闭、未更换有效授权之前均无法正常启动等情况。要确认停机原因,您可以检查数据库的日志文件(路径通常为 达梦安装目录/log/,文件名格式如 dm_INSTANCENAME_YYYYMM.log)。如果日志中出现以下 [FATAL] 级别的错误信息,即可断定是授权问题导致的停机:

    [FATAL] ... License violation detected, or product has expired. System halt!
    
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服