本文档详细阐述了如何在不中断数据库服务的情况下,在线更换达梦数据库的授权文件 (dm.key
),并验证新授权生效的完整流程。所有操作均在数据库服务器端执行。
获取新的授权文件:授权文件通常分为两种类型:
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
:该临时授权的到期日期。
服务器访问权限:准备好可登录数据库服务器的 SSH 账户,该账户需具备 root
权限或 sudo
能力,以便进行文件操作和权限变更。
数据库管理员凭证:准备好数据库 SYSDBA
用户(或其他具备相应权限的管理用户)的密码。
文件传输工具:准备好 SFTP, SCP, WinSCP 或 MobaXterm 等文件传输工具。
在您的本地计算机上进行以下操作:
dm8.4-x86-linux-企业版2025.6.25.zip
)解压。.key
文件(例如 DM1701120153.key
)。为符合数据库默认识别规则,请将其重命名为 dm.key
。登录到您的达梦数据库服务器,执行以下操作:
查找 bin
目录:授权文件 dm.key
位于达梦数据库安装目录下的 bin
文件夹内。若您不确定安装路径,可使用以下命令查找,否则可直接跳至下一步。
# 查找 dmserver 可执行文件的位置,其所在目录即为 bin 目录
dirname $(find / -name dmserver 2>/dev/null)
进入 bin
目录:根据查找到的路径,进入该目录。
# 示例路径
cd /home/dmdba/dmdbs/bin
备份旧授权文件:为防止新授权文件异常导致服务问题,强烈建议备份现有 dm.key
文件。
# 推荐在备份文件名中加入日期,便于追溯
mv dm.key dm.key_bak_$(date +%Y%m%d)
此操作可确保在更换失败时,能够快速恢复至原始状态。
使用文件传输工具(如 SFTP),将步骤 1 中准备好的新 dm.key
文件上传至服务器的 bin
目录。
为确保数据库服务进程有权读取该文件,需要调整其所有者和权限。
# 进入 bin 目录后执行以下命令
# 将文件所有者变更为达梦数据库运行用户(通常为 dmdba:dinstall)
chown dmdba:dinstall dm.key
# 赋予适当的读写权限
chmod 644 dm.key
此步骤将使数据库动态加载新的授权信息,无需重启服务。
切换到达梦用户:
su - dmdba
连接数据库:使用达梦命令行工具 disql
。
# 交互式登录(推荐)
disql SYSDBA@localhost:5236
# 然后根据提示输入密码
# 或者在命令中提供密码和连接信息(注意密码泄露风险、注意保留密码部分的单引号和双引号)
# disql SYSDBA/'"YOUR_PASSWORD"'@localhost:5236
执行重载命令:在 SQL>
提示符下,执行系统存储过程。
sp_load_lic_info;
为了确认新授权已成功加载,您可以通过 disql
、DM 管理工具或任何其他 SQL 客户端执行以下查询。
执行查询语句:
-- 查询授权详细信息
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;
检查输出结果:
EXPIRED_DATE
(过期日期) 字段。NULL
,代表永久授权。问:如果我的数据库 bin
目录下原本就没有 dm.key
文件,是怎么回事?
答:如果 bin
目录下没有 dm.key
文件,达梦数据库会启用一个默认的试用授权。其有效期通常为自该数据库安装包生成日期起,延后一年。
问:我只使用达梦的管理工具或客户端,是否也需要授权文件?
答:不需要。授权文件 dm.key
仅针对达梦数据库的服务端。所有客户端工具和驱动程序均无授权限制,可以永久免费使用。
问:在达梦数据守护 (DMDataWatch) 或读写分离集群环境中,如何更新授权?
答:您需要为集群中的每一个数据库实例节点(主库、备库)都执行上述完整的授权更换步骤。监视器 (Monitor) 节点无需授权文件,因此不需要操作。
问:更新授权后,日志中出现“授权不匹配”或类似错误,是什么原因?
答:这通常是由于授权文件的 CPU 架构与服务器实际的 CPU 架构不符导致的。请核对您收到的授权文件(文件名或说明中通常会标注 CPU 架构)。您可以使用以下命令在服务器上确认 CPU 架构:
hostnamectl | grep Architecture
确保授权文件与服务器架构一致。如果不一致,请联系达梦公司获取正确架构的授权文件。
问:授权到期后数据库会停机吗?如何确认停机原因?
答:是的,部分版本授权到期后数据库服务不排除会自动关闭、未更换有效授权之前均无法正常启动等情况。要确认停机原因,您可以检查数据库的日志文件(路径通常为 达梦安装目录/log/
,文件名格式如 dm_INSTANCENAME_YYYYMM.log
)。如果日志中出现以下 [FATAL]
级别的错误信息,即可断定是授权问题导致的停机:
[FATAL] ... License violation detected, or product has expired. System halt!
文章
阅读量
获赞