暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库-服务名配置dm_svc.conf

原创 手机用户5278 2022-06-29
3434

达梦数据库-服务名配置dm_svc.conf

例1: dm_svc.conf

例如 数据守护环境(实时主备集群),配置一个名为 dm_time 的连接服务名,使用 dm_time 连接数据守护中的数据库,即可实现故障自动重连。需要说明的是,如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端程序,修改的配置才能生效。

TIME_ZONE=(480)
LANGUAGE=(cn)
dm_test=(172.16.10.81:15236,172.16.10.82:25236)
LOGIN_MODE=(1) --只连接主库
SWITCH_TIMES=(3) --以服务名连接库时,若未找到符合条件的库建立连接,将尝试遍历服务名中库列表的次数
SWITCH_INTERVAL=(100) --在服务器之间切换的时间间隔,单位为毫秒

例2: dm_svc.conf

例如

1. DM_TIME数据守护环境(实时主备集群)

2. DM_RW数据守护读写分离集群

3. DM_DSC共享存储集群

分别使用

DM_TIME

DM_RW

DM_DSC服务名

连接各个集群的数据库,

即可实现故障自动重连。需要说明的是,如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端程序,修

改的配置才能生效。

TIME_ZONE=(480)
LANGUAGE=(cn)
#全局配置区
DM_TIME=(172.16.10.81:15236,172.16.10.82:25236)
DM_RW=(172.16.10.83:15236,172.16.10.84:25236)
DM_DSC=(172.16.10.85:5236,172.16.10.86:5236)

#服务配置区
[DM_TIME]
LOGIN_MODE =(1) --只连接主库
SWITCH_TIME=(60) --以服务名连接库时,若未找到符合条件的库建立连接,将尝试遍历服务名中库列表的次数
SWITCH_INTERVAL=(1000) --在服务器之间切换的时间间隔,单位为毫秒

[DM_RW]
LOGIN_MODE =(1) --只连接主库
RW_SEPARATE=(1) --开启读写分离
RW_PERCENT=(25) --读写分离分发比例,取值范围(0~100)
SWITCH_TIME=(60)
SWITCH_INTERVAL=(1000)

[DM_DSC]
LOGIN_MODE =(4) --优先连接NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY模式
SWITCH_TIME=(60)
SWITCH_INTERVAL=(1000)
EP_SELECTOR=(0) --0:依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;
AUTO_RECONNECT=(1) --当连接发生异常时自动切换到其他库,无论切换成功还是失败都会抛一个SQLEXCEPTION,用于通知上层应用进行事务执行失败时的相关处理;

需要说明的是,如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端工具,修改的配置才能生效。另外,如果 dm_svc.conf 配置文件中包含中文,则必须保证该配置文件的编码与客户端编码一致。

例3

DSC 场景中 dm_svc.conf

# 全局配置区
DMDSC1=(192.168.1.1:5236,192.168.1.3:5236)
DMDSC2=(192.168.1.5:5236,192.168.1.7:5236)
TIME_ZONE=(+480) #表示+8:00 时区

#DMDSC1 服务配置区
#以下配置是每次定向连接 DMDSC1 服务名的第一个服务(192.168.1.1:5236),当服务器故障后,以间隔 1000 毫秒的节奏尝试连接第一个服务 60 次,若连接成功则进行使用,若连接失败则连接下一个服务(192.168.1.3:5236)。
#假设 2 号服务先连接成功,由于 AUTO_RECONNECT=(1),因此当 1 号服务可以正常连接后当前连接也不会切换到 1 号服务。

[DMDSC1]
LOGIN_MODE=(4) #若是 DSC 主+单机备,注意这里需要配置成 0
SWITCH_TIMES=(60)
SWITCH_INTERVAL=(1000)
EP_SELECTOR=(1)
AUTO_RECONNECT=(1)

#DMDSC2 服务配置区
#以下配置是每次定向连接 DMDSC2 服务名的第一个服务(192.168.1.5:5236),当服务器故障后,以间隔 1000 毫秒的节奏尝试连接第一个服务 60 次,若连接成功则进行使用,若连接失败则连接下一个服务(192.168.1.7:5236)。
#假设 2 号服务先连接成功,由于 AUTO_RECONNECT=(2),因此当 1 号服务可以正常连接后当前连接会切换到 1 号服务。

[DMDSC2]
CLUSTER=(DSC)LOGIN_MODE=(4) #若是 DSC 主+单机备,注意这里需要配置成 0
SWITCH_TIMES=(60)
SWITCH_INTERVAL=(1000)
EP_SELECTOR=(1) --选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接
AUTO_RECONNECT=(2) --配合 EP_SELECTOR=1 使用,如果服务名列表前面的节点恢复了,将当前连接切换到

前面的节点上

常用参数解析

配置项

缺省值

简述

LOGIN_MODE

4

指定优先登录的服务器模式。0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接

主库;2:只连接备库;3:优先连接 STANDBY 模式的库,

PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接

NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY

模式

SWITCH_TIMES

1

以服务名连接数据库时,若未找到符合条件的库成功建立连

接,将尝试遍历服务名中库列表的次数。有效值范围

1~9223372036854775807

SWITCH_INTERVAL

200

在服务器之间切换的时间间隔,单位为毫秒,有效值范围

1~9223372036854775807

RW_SEPARATE

0

是否启用读写分离。0:不启用;1:启用;2:启用,备库由

客户端进行选择,且只会选择服务名中配置的节点

RW_PERCENT

25

读写分离分发比例,有效值范围 0~100

EP_SELECTOR

0

连接数据库时采用何种模型建立连接。0:依次选取列表中的

不同节点建立连接,使得所有连接均匀地分布在各个节点

上;1:选择列表中最前面的节点建立连接,只有当前节点无

法建立连接时才会选择下一个节点进行连接

AUTO_RECONNECT

0

连接发生异常或一些特殊场景下连接处理策略。0:关闭连接;1:当连接发生异常时自动切换到其他库,无论切换成功还是失败都会抛一个 SQLEXCEPTION,用于通知上层应用进行事务执行失败时的相关处理;2:配合 EP_SELECTOR=1 使用,如果服务名列表前面的节点恢复了,将当前连接切换到前面的节点上

服务名

用于连接的服务名,参数值格式为:

服务名=(IP[:PORT],IP[:PORT],......)。IP 为数据库所在的 IP 地址,如果是 IPV6 地址,为了区分端口,需要用[]封闭 IP 地址。PORT 为数据库使用的 TCP 连接端口,可选配置,不配置则使用默认的端口

注:若配置服务名时没有指定端口,后续在工具或接口的命令

中使用服务名时,在服务名后增加的“:XXXX”端口号会被忽

略,这样指定的端口号是无效的

TIME_ZONE

当前时区

指明客户端的默认时区,设置范围为:-779~840M,如 60 对应+1:00 时区

LANGUAGE

操作系统语言

当前数据库服务器使用的语言,会影响帮助信息错误和提示信

息。支持的选项为:CN(表示中文)和 EN(表示英文)。可以

不指定,若不指定,系统会读取操作系统信息获得语言信息,

建议有需要才指定。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论