dm_svc.conf 的配置

概述

dm_svc.conf 是一个客户端配置文件,它包含了 DM 各接口和客户端工具所需要配置的一些参数。它必须和接口/客户端工具位于同一台机器上才能生效。

初始 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 目录。
  5. 可以通过环境变量设置指定该文件的默认路径。在对应的用户下设置环境变量DM_SVC_PATH即可,如:

   export DM_SVC_PATH=/home/dmdba/dm 或者

   setenv DM_SVC_PATH /home/dmdba/dm

常用参数整理

配置项

缺省值

简述

服务名

连接服务名,参数值格式为ip[:port],ip[:port],......

TIME_ZONE

操作系统当前时区

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

LANGUAGE

操作系统语言

当前数据库服务器使用的语言,会影响帮助信息错误和提示信息。支持的选项为:CN(表示中文)和EN(表示英文)。可以不指定,若不指定,系统会读取操作系统信息获得语言信息,建议有需要才指定。

LOGIN_ENCRYPT

1

是否进行通信加密。0:不加密;1:加密

DIRECT

Y

是否使用快速装载。y:使用;n:不使用

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

CHAR_CODE

操作系统编码格式

客户端使用的编码格式,会影响帮助信息和错误提示信息,要与客户端使用的编码格式一致。支持的选项为:PG_UTF8(表示 UTF8 编码);PG_GBK/PG_GB18030(两者都表示 GBK 编码);PG_BIG5(表示 BIG5 编码);PG_ISO_8859_9(表示ISO88599 编码);PG_EUC_JP(表EUC_JP 编码);PG_EUC_KR(示 EUC_KR 编码);PG_KOI8R(表示 KOI8R编码);PG_ISO_8859_1(表示 ISO_8859_1 编码)。可以不指定,若不指定,系统会读取操作系统信息获得编码信息,建议有需要才指定。

EP_SELECTOR

0

连接数据库时采用何种模型建立连接。0:依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;1:选择

列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接

AUTO_RECONNECT

0

连接发生异常或一些特殊场景下连接处理策略。0:关闭连接;1:当连接发生异常时自动切换到其他库,无论切换成功还是失败都

会抛一个 SQLEXCEPTION,用于通知上层应用进行事务执行失败时的相关处理

dm_svc.conf文件的配置可以分为两个区域,全局配置区和服务配置区两大部分,全局配置区可以配置所有的配置选项,服务配置区可以配置除服务名外的所有选项,并且服务配置区的优先级高于全局配置区,即如果两个区域都配置了相同的参数,则以服务配置区的参数为准。

全局配置区可以配置多个服务名和IP/PORT对应关系,同时可以配置通用性的参数,如传输加密参数:LOGIN_ENCRYPT=(0),对于个性的参数,如LOGIN_MODE=(1),则配置在服务配置区中(此配置参数在有单实例的服务名下,连接时会出现"没有匹配的可登陆服务器"错误,当然,根据优先级的原则,可以将此配置参数在单实例服务配置区配置为LOGIN_MODE=(3/4),也可以解决连接问题)。

全局配置区有多个服务名且服务需要个性化参数的话,则在服务配置区中,需要配置多个[服务名]开头的服务配置区,如果无个性化参数,则不需要进行服务配置区的配置。

案例展示

下面以一个普通单机环境中 dm_svc.conf 为例:

在windows中C:\Windows\System32目录下配置 dm_svc.conf文件

TIME_ZONE=(480)

LANGUAGE=(cn)

DM8=(192.168.100.11:5236)

不需要填写IP地址,也可连接到服务。

主备环境为例,展示dm_svc.conf配置

在windows中C:\Windows\System32目录下配置 dm_svc.conf文件

TIME_ZONE=(480)

LANGUAGE=(cn)

DMPS=(192.168.100.11:5236,192.168.100.12:5236)

[DMPS]

LOGIN_MODE=(1)

SWITCH_TIMES=(60)

SWITCH_INTERVAL=(1000)

连接成功,并通过服务名查询数据。

当前使用的实例为GRP1_RT_02。

读写分离环境为例,展示dm_svc.conf配置

在windows中C:\Windows\System32目录下配置 dm_svc.conf文件

TIME_ZONE=(480)

LANGUAGE=(cn)

DMRW=(192.168.100.11:5236,192.168.100.12:5236)

[DMRW]

LOGIN_MODE=(1) # LOGIN_MODE=1:只连接主库;

RW_SEPARATE=(1)

RW_PERCENT=(30)

SWITCH_TIMES=(60)

SWITCH_INTERVAL=(1000)

读写分离环境如下

修改dm_svc.conf如下

TIME_ZONE=(480)

LANGUAGE=(cn)

DMRW=(192.168.100.11:5236,192.168.100.12:5236)

[DMRW]

LOGIN_MODE=(2)  # LOGIN_MODE=2:只连接备库;

DSC集群环境为例,展示dm_svc.conf配置

在windows中C:\Windows\System32目录下配置 dm_svc.conf文件

TIME_ZONE=(480)

LANGUAGE=(cn)

DMDSC=(192.168.100.11:6636,192.168.100.12:6637,192.168.100.13:5236)

[DMDSC]

SWITCH_TIMES=(60)

SWITCH_INTERVAL=(1000)

EP_SELECTOR=(1)  #1选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接

AUTO_RECONNECT=(1)  #1当连接发生异常时自动切换到其他库

DSC环境如下

当前连接实例为DSC01。

修改dm_svc.conf如下:

TIME_ZONE=(480)

LANGUAGE=(cn)

DMDSC=(192.168.100.11:6636,192.168.100.12:6637,192.168.100.13:5236)

[DMDSC]

LOGIN_MODE=(2)  # LOGIN_MODE=2:只连接备库;

以普通MPP集群展示dm_svc.conf用法:

在windows中C:\Windows\System32目录下配置 dm_svc.conf文件

TIME_ZONE=(480)

LANGUAGE=(cn)

DMMPP=(192.168.100.11:5236,192.168.100.12:5237)

全局登录,连接到两个EP实例。

总结

在编写dm_svc.conf文件后,需要重启客户端工具,修改的配置才能生效;

如果 dm_svc.conf 配置文件中包含中文,则必须保证该配置文件的编码与客户端编码一致;

服务名建议使用常用名:

  1. DMTIME数据守护环境(实时主备集群)
  2. DMRW数据守护读写分离集群
  3. DMDSC共享存储集群
  4. DMMPP MPP集群

使用数据库集群时,如果和单机一样使用ip进行连接,若是主库宕机进行主备切换后,读取数据将还是在ip指向那台数据库,不会进行自动切换。所以在使用集群时,应当使用服务名进行连接,这种情况下会自定选择正常运行的数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值