达梦数据库
达梦数据库DM8安装流程
创建达梦数据库实例
达梦数据库实例优化与配置
模式和用户及库之间的概念理解
常见数据库运维问题
达梦数据库日常运维指令
达梦8主从集群同步模式部署测试
客户端连接达梦数据库的方式(dm_svc)
删除达梦数据库实例
达梦数据库disql操作存储过程
本文档使用 MrDoc 发布
-
+
home page
客户端连接达梦数据库的方式(dm_svc)
# 简介 dm_svc.conf 是使用达梦数据库时非常重要的配置文件,它包含了达梦各接口和客户端工具所需要配置的一些参数。通过它可以实现达梦各种集群的读写分离和均衡负载,且必须和接口/客户端工具位于同一台机器上才能生效。 >初始 dm_svc.conf 文件由达梦安装时自动生成。不同的平台生成目录有所不同,注意相应访问用户需要对该文件有读取权限。 - 32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录; - 64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录; - 32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录; - 在 Linux 平台下,此文件位于 /etc 目录。 >但在某些情况下: 所使用的用户没有读取和修改 /etc 目录下文件的权限,这时就需要将 dm_svc.conf 文件放到有权限的目录下,并修改 url 连接串的内容。以 Linux 平台,文件放在 /home/dmdba 目录下为例: 在 /data/dm8server 目录下,编辑 dm_svc.conf 文件: ``` TIME_ZONE=(480) LANGUAGE=(cn) dm=(ip:端口)[dm] KEYWORDS=(需要排除的关键字) ``` # 修改连接串 ``` jdbc:dm://dm?dmsvcconf=/data/dm8server/dm_svc.conf ``` dm_svc.conf 配置文件的内容分为全局配置区和服务配置区。 - 全局配置区在前,可配置所有的配置项 - 服务配置区在后,以“[服务名]”开头,可配置除了服务名外的所有配置项。 > 服务配置区中的配置优先级高于全局配置区(服务配置区的相同配置项会覆盖全局配置区对应的配置项)。 # 常用配置项介绍 - 服务名 用于连接数据库的服务名,参数值格式为: ``` 服务名=(IP[:PORT],IP[:PORT],......)。 ``` - TIME_ZONE 指明客户端的默认时区设置范围为:-779~840M,如 60 对应 +1:00 时区,+480 对于东八区,如果不做配置默认是操作系统的时区。 - KEYWORDS 该参数可以用于屏蔽数据库关键字,如果数据库关键字在 SQL 语句中以单词的形式存在,无法识别需要加上双引号或者可以通过该参数来屏蔽关键字,建议大小写都写入参数中。 例如: ``` KEYWORDS=(versions,VERSIONS,type,TYPE) ``` - LOGIN_MODE 指定优先登录的服务器模式。 - 0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式; - 1:只连接主库; - 2:只连接备库; - 3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式; - 4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式。 >注意 在 2021 年版本之后,此参数的默认值由 0 变更为 4。该参数详细介绍及使用办法请参考《DM 数据守护与读写分离集群》-5.8 章节。手册位于数据库安装路径 /dmdbms/doc 文件夹。 - SWITCH_TIMES 表示以服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。有效值范围 1~9223372036854775807,默认值为 1,可以设置至少 3 次用来避免由于网卡的波动,造成数据库连接测频繁切换。 - SWITCH_INTERVAL 表示在服务器之间切换的时间间隔,单位为毫秒,有效值范围 1~9223372036854775807。与参数 SWITCH_TIMES、EP_SELECTOR 配合使用,EP_SELECTOR 设置为 0,等待 SWITCH_INTERVAL 后会切换尝试连接下一个服务器,EP_SELECTOR 设置为 1,等待 SWITCH_INTERVAL 后会继续尝试连接该服务器,直到 SWITCH_TIMES 次再切换下一个服务器。 - EP_SELECTOR 表示连接数据库时采用何种模型建立连接,0:依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;1:选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接。 - AUTO_RECONNECT 表示连接发生异常或一些特殊场景下连接处理策略。 - 0:关闭连接, - 1:当连接发生异常时自动切换到其他库,无论切换成功还是失败都会抛一个 SQLEXCEPTION,用于通知上层应用进行事务执行失败时的相关处理; - 2 配合 `EP_SELECTOR=1` 使用,如果服务名列表前面的节点恢复了,将当前连接切换到前面的节点上,可以根据应用的实际要求设定。 # 常用配置 ## 单机连接配置 数据库的连接配置 ```java spring.datasource.url=jdbc:dm://localhost:5236 spring.datasource.username=SYSDBA spring.datasource.password=SYSDBA spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver ``` 指定模式的情况下连接 ```java spring.datasource.url=jdbc:dm://localhost:5236?schema=test spring.datasource.username=SYSDBA spring.datasource.password=SYSDBA spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver ``` ## 单机文件配置 配置示例 ``` # 以#开头的行表示是注释 # 全局配置区 TIME_ZONE=(480) LANGUAGE=(cn) DM=(192.168.100.100:5236) ``` 连接示例: Disql 连接: ``` [dmdba@localhost~]$ /data/dm8server/basedir/disql SYSDBA/SYSDBA@DM ``` ## 主备集群配置 配置示例 ``` # 以#开头的行表示是注释# # 全局配置区 TIME_ZONE=(480) LANGUAGE=(cn) DMHA=(192.168.100.100:5236,192.168.100.101:5236) # 服务配置 [DMHA] SWITCH_TIMES=(3) SWITCH_INTERVAL=(100) LOGIN_MODE=(1) ``` - jdbc 连接串 ``` jdbc:dm://DMHA ```
Nathan
April 20, 2023, 5:04 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password