dm_svc.conf文件介绍

本文介绍了dm_svc.conf文件,包括其在主备集群配置中的位置、配置项详细说明及使用方法。

dm_svc_conf位置

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

配置项缺省值简述
服务名
用于连接的服务名,参数值格式为:
服务名=(IP[:PORT],IP[:PORT],......)IP 为数据库所在的 IP 地址,如果是 IPV6 地址,为了区分端口,需要用[]封闭 IP 地址。PORT
为数据库使用的 TCP 连接端口,可选配置,不配置则使用默认的端口
注:若配置服务名时没有指定端口,后续在工具或接口的命令中使用服务名时,在服务名后增加的―:XXXX‖端口号会被忽略,这样指定的端口
号是无效的
WALLET_LOCATION
wallet 文件的路径
TIME_ZONE
操作系
统当前时区
指明客户端的默认时区,设置范围为:-779~840M,如 60 对应+1:00 时区
LANGUAGE
操作系
统语言
当前数据库服务器使用的语言,会影响帮助信息错误和提示信息。支持的选项为:CN(表示中文)和 EN(表示英文)。可以不指定,若不指
定,系统会读取操作系统信息获得语言信息,建议有需要才指定。
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 编码)。
可以不指定,若不指定,系统会读取操作系统信息获得编码信息,建议有需要才指定。
COMPRESS_MSG
0
是否启用消息压缩。0:不启用;1:启用
DIRECT
Y
是否使用快速装载。Y:使用;N:不使用
DEC2DOUB
0
指明在 DPIDMODBCDCIDMPHP DM PRO*C 中,是否将 DEC 类型转换为 DOUBLE 类型。0:不转换;1:转换
KEYWORDS
标识用户关键字,所有在列表中的字符串,如果以单词的形式出现在 SQL 语句中,则这个单词会被加上双引号。该参数主要用来解决用户需要
使用 DM8 中的保留字作为对象名使用的状况。
ENABLE_RS_CACHE
0
是否进行客户端结果集缓存。0:不进行;1:进行
RS_CACHE_SIZE
10
设置结果集缓冲区大小,以 M 为单位。有效值为 1~65535,如果设置太大,可能导致空间分配失败,进而使缓存失效
RS_REFRESH_FREQ
10
结果集缓存检查更新的频率,以秒为单位,有效值为 0~10000,如果设置为 0,则不需检查更新
CONNECT_TIMEOUT
5000
连接超时时间,单位为毫秒。0 表示无限制
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
LOGIN_CERTIFICATE
指定登录加密用户名密码公钥所在的路径,一旦配置即认为开启了客户端的证书加密用户名密码模式
CIPHER_PATH
第三方加密算法的路径
LOGIN_DSC_CTRL
0
服务名连接数据库时是否只选择 DSC CONTROL 节点的库。0:否;1:是
ADDRESS_REMAP
库地址重定向,将连接请求中的数据库重新定个方向转到其它数据库上。
用法为:ADDRESS_REMAP =(IP:PORT, IP:PORT)
支持指定多个,指定多个的格式为:
ADDRESS_REMAP =(IP:PORT, IP:PORT)
ADDRESS_REMAP =(IP:PORT, IP:PORT)
……
例如,设置 ADDRESS_REMAP =(192.168.1.60:5236,192.168.1.64:5236),使用 DIsql 连接 IP 60 的数据库:DIsql
SYSDBA/SYSDBA@192.168.1.60:5236,经重定向之后,DIsql 实际连接的是 IP 64 的数据库
EP_SELECTOR
0
连接数据库时采用何种模型建立连接。0:依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;1:选择列表中最前
面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接
AUTO_RECONNECT
0
连接发生异常或一些特殊场景下连接处理策略。0:关闭连接;1:当连接发生异常时自动切换到其他库,无论切换成功还是失败都会抛一个
SQLEXCEPTION,用于通知上层应用进行事务执行失败时的相关处理;2:配合 EP_SELECTOR=1 使用,如果服务名列表前面的节点恢复了,
将当前连接切换到前面的节点上
DUMMY
2
写文件时,发现文件已存在的处理方式。0:报错;1:直接覆盖文件;2:询问用户,有交互信息
DPC_TRACE
DPC_NEW TRACE 文件路径,不配置时不写 TRACE 信息
ENABLE_SSL
0
是否启用 SSL1/Y/y:启用 SSL;其他值:不启用
SSL_CONFIG
在启用 SSL 的前提下,设置 SSL 值,格式如下:SSL_CONFIG=((USER=(用户名 1) SSL_PATH=(SSL 路径 1) SSL_PWD=(SSL KEY1))
(USER=(用户名 2) SSL_PATH=(SSL 路径 2) SSL_PWD=(SSL KEY2)))
TRACE
NONE
是否启用.NET PROVIDER TRACE 功能。NONE:不启用;DEBUG:打印到控制台;NORMAL:打印到执行目录下的―PROVIERTRACE.TXT‖
文件中;TRACE:打印到执行目录下的―PROVIERTRACE.TXT‖文件中,比 NORMAL 内容要更详细一些;THREAD:每个线程的 TRACE 分别打印到执行目录下的―PROVIERTRACE 线程号.TXT‖文件中
TCP_ACK_TIMEOUT
0
指定 LINUX 系统下 TCP 链路的心跳超时时间。有效值范围(0~100),单位为秒

dm_svc.conf 用法

   dm_svc.conf 配置文件的内容分为全局配置区和服务配置区。全局配置区在前,可配置表 2.28 中所有的配置项,服务配置区在后,以―[服务名]‖ 开头,可配置除了服务名和 WALLET_LOCATION 外的所有配置项。服务名配置项可以在全局配置区,也可以在此服务名对应的服务配置区之前,及在 其对应的―[服务名]‖之前。
服务配置区中的配置优先级高于全局配置区。
下面以一个普通环境中 dm_svc.conf 为例:
# 以#开头的行表示是注释
# 全局配置区
NORMAL=(192.168.0.1:5000,192.168.0.2:5236)
Data_Watch=(192.168.0.3:5236,192.168.0.4:4350)
TIME_ZONE=(+480) #表示+8:00 时区
DIRECT=(Y)
# 服务配置区
# 常规环境,两个没有关系的 IP
[NORMAL]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(4)
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(100)
# 服务配置区
# 数据守护环境,一主一备,只连备库
[Data_Watch]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(2)
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(100)
下面以 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)
   需要说明的是,如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端工具,修改的配置才能生效。另外,如果 dm_svc.conf 配置文件中包 含中文,则必须保证该配置文件的编码与客户端编码一致。
读写分离集群配置dm_svc_conf:
TIME_ZONE=(480)
LANGUAGE=(en)
DM_RWW=(192.168.0.151:5236,192.168.0.152:5236,192.168.0.153:5236)
RW_SEPARATE=(1)
RW_PERCENT=(30)
LOGIN_PRIMARY=(1)
SWITCH_TIME=6000
SWITCH_INTERVAL=500

注意事项:
RW_SEPARATE:取值0和1,默认0,表示不使用读写分离方式
RW_PERCENT:取值0~100,默认值25。表示分发总事务的百分之多少到主机上执行。
LOGIN_PRIMARY表示是否仅登录到主机,支持的选项为1(只连接主机)和0(主机不存在的情况下可连接备机)。可以不指定,若不指定,默认值为1。

主备集群配置dm_svc_conf


TIME_ZONE=(480)
LANGUAGE=(cn)

DM_SERVER=(192.168.1.131:5236,192.168.1.132:5236)

[DM_SERVER]
LOGIN_MODE =(1)
SWITCH_TIME=(60)
SWITCH_INTERVAL=(1000)

解释说明:
LOGIN_MODE =(1) // 1:只连接主库;
SWITCH_TIME=60) // 60: 检测到故障服务器之间切换的次数
SWITCH_INTERVAL=(1000) // 1秒 服 务 器 之 间 切 换 的 时 间 间 隔

更多学习内容请访问:eco.damemg.com
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值