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 |
指明在 DPI、DMODBC、DCI、DMPHP 和 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 |
是否启用 SSL。1/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
本文介绍了dm_svc.conf文件,包括其在主备集群配置中的位置、配置项详细说明及使用方法。
1769

被折叠的 条评论
为什么被折叠?



