注册
达梦数据库dm_svc.conf服务名文件
专栏/技术分享/ 文章详情 /

达梦数据库dm_svc.conf服务名文件

好好先生 2026/01/09 250 0 0
摘要

达梦数据库dm_svc.conf服务名文件

dm_svc.conf 是达梦数据库的客户端核心配置文件,其原理是通过集中管理连接参数与服务路由规则,实现客户端与数据库集群的高效通信。以下是具体说明:

一、文件定义与定位

dm_svc.conf 是达梦数据库客户端层面的配置文件,由安装程序自动生成,默认路径因操作系统而异:

初始 dm_svc.conf 文件在 DM 安装时自动生成。不同平台的生成目录有所不同。

  1. 32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录;
  2. 64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录;
  3. 32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录;
  4. 在 Linux 平台下,此文件位于/etc 目录。

可以通过设置操作系统环境变量 DM_SVC_PATH 来修改 dm_svc.conf 文件路径。

该文件必须与客户端工具(如 Disql、JDBC 驱动)或中间件(如 Tomcat)部署在同一台机器上,否则无法生效。若需自定义路径,需在连接串中显式指定,例如:

jdbc:dm://DM?dmsvcconf=/home/dmdba/dm_svc.conf

二、核心原理

  1. 分层配置结构
    • 全局配置区:定义默认参数(如时区 TIME_ZONE=(+480)),适用于所有服务。
    • 服务配置区:以服务名(如 [DMDSC1])为标识,覆盖全局参数,实现差异化配置。
  2. 动态路由机制
    • 故障自动切换:当主库故障时,客户端按 SWITCH_INTERVAL(如 1000 毫秒)的间隔重试连接,最多尝试 SWITCH_TIMES(如 60 次)。若仍失败,根据 LOGIN_MODE 决定后续行为(如切换至备库或报错)。
    • 负载均衡:通过 EP_SELECTOR 参数(如轮询、随机)选择节点,分散连接压力。
  3. 连接持久化
    • AUTO_RECONNECT=1,已建立的连接在主库恢复后不会自动切换;若为 2,则切换至优先节点。

三、核心功能

  1. 高可用支持

    • 在主备集群或 DSC(数据守护集群)中,确保客户端无感切换至可用节点。例如:

      ini[DMDSC1] LOGIN_MODE=4 # 主备模式需设为 0 SWITCH_TIMES=60 AUTO_RECONNECT=2

      当主库故障时,客户端自动连接备库,并在主库恢复后切换回优先节点。

  2. 读写分离

    • 通过 DW_SEPARATE=1DW_PERCENT=0 将读操作定向至备库,主库专注写操作,提升并发性能。
  3. 多环境管理

    • 支持定义多个服务名(如开发、测试、生产环境),客户端通过服务名连接,避免硬编码 IP 地址。
  4. 安全与优化

    • 凭据管理:通过 WALLET_LOCATION 指定凭据文件路径,避免在连接串中暴露密码。
    • 消息压缩:启用 COMPRESS_MSG 减少网络传输量,提升性能。

四、配置示例

dm_svc.conf 配置文件的内容分为全局配置区和服务配置区。全局配置区在前;服务配置区在后,以“[服务名]”开头。其中,服务名配置项可以在全局配置区,也可以在此服务名对应的服务配置区之前,即在其对应的“[服务名]”之前。

dm_svc.conf 格式如下:

# 全局配置区 参数配置…… # 服务配置区 [服务名1] 参数配置…… # 服务配置区 [服务名2] 参数配置……

配置示例:

ini# 全局配置 TIME_ZONE=(+480) # 时区设置为东八区 # 服务配置 [DMDSC1] DMDSC1=(192.168.1.1:5236,192.168.1.3:5236) # 服务节点列表 LOGIN_MODE=4 # 连接模式 SWITCH_TIMES=60 # 最大重试次数 SWITCH_INTERVAL=1000 # 重试间隔(毫秒) EP_SELECTOR=1 # 轮询选择节点 AUTO_RECONNECT=2 # 主库恢复后自动切换 [DMDSC2] CLUSTER=DSC # 集群类型 DW_SEPARATE=1 # 启用读写分离 DW_PERCENT=0 # 全部读操作定向至备库

五、注意事项

  1. 编码一致性:若配置文件包含中文,需确保文件编码与客户端编码一致(如 UTF-8)。
  2. 生效条件:修改配置后需重启客户端工具或中间件。
  3. 版本兼容性:驱动版本需与数据库版本匹配,否则可能报错。
  4. 配置优先级:服务配置区中的配置优先级高于全局配置区。全局配置区的配置项影响所有会话,除非会话所属服务配置区中单独进行了配置,因此对于全局配置区配置项的设置修改需要慎重。
  5. 重启生效:如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端工具,修改的配置才能生效。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服