当前位置: 首页 > news >正文

应用系统连达梦数据库报“服务器模式不匹配”的根源与修复方案

近期遇到很多个应用系统连接达梦数据库报“服务器模式不匹配”的问题,省流直接说文章结论通常两种场景

  1. 初次连接达梦数据库时报服务器模式不匹配,可能是配置文件中LOGIN_MODE参数配置与数据库状态不一致导致连接失败
  2. 应用系统正常运行负载大或者偶发报服务器模式不匹配,可能是因会话数已达到数据库实例配置的MAX_SESSIONS参数上限导致的,此时应排查故障时间段的实例日志/dm_svc文件配置/url连接串配置

报错说明

应用反馈连接达梦主备集群时报错:服务器模式不匹配,报错截图如下

问题分析

  1. 这个报错是应用系统在连接达梦数据库时,在dm_svc.conf文件或者连接串中配置的LOGIN_MODE参数引起的报错。
  2. 当应用发起连接执行getConnection获取连接时主要会经过参数解析、转换服务名、根据模式状态选择合适连接节点。

画板

  1. 在进行节点选择时会将服务名中配置的节点构造成一个圆环,根据配置的LOGIN_MODE参数选择合适的节点进行连接

  1. 当出现报错的时候其实就是会话连接根据配置LOGIN_MODE参数规则没有找到合适的数据库节点。

问题复现

第一种情况:最常见的就是数据库状态与LOGIN_MODE参数配置不符,例如数据库中模式是primary,配置文件中写的是login_mode=2 即只连接备库,这种情况就会导致因没有找到合适的节点程序报服务器模式不匹配

SQL> select MODE$ from v$instance;MODE$  
-------
PRIMARY

经测试:jdbc中会报服务器模式不匹配,disql的话会报[-70019]:没有匹配的可登陆服务器。

[dmdba@VM-8-14-centos:/opt/dmdbms/bin]$ cat /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(CN)
DM=(81.70.105.101:5236,81.70.105.102:5236)
[DM]
LOGIN_MODE=(2)[dmdba@VM-8-14-centos:/opt/dmdbms/bin]$ ./disql SYSDBA/Dameng123.@DM
[-70019]:没有匹配的可登陆服务器.
disql V8

第二种情况:数据库实例的会话已被占满,此时应用发起新的会话连接,因数据库会话已满会导致无法获取当前数据库节点的状态,此时会去服务名列表中继续循环下一个。

当配置的是login_mode=1只连主库,而主库会话数已满,按照列表遍历一遍后未找到primary状态的数据库,那么就会报“服务器模式不匹配”。

当达到数据库最大上限后,实例日志中会有while reach maximum session limitation的日志信息来确认该问题。

在目前的版本中该场景的错误已调整为 dm.jdbc.driver.DMException: 超过了最大连接限制

http://www.lryc.cn/news/620703.html

相关文章:

  • 使用colmap自制3DGaussian_Splatting数据集
  • BotCash:GPT-5发布观察 工程优化的进步,还是技术突破的瓶颈?
  • GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
  • 通过机器学习框架实现Android手写识别输入功能
  • Spring Boot 3中JWT密钥安全存储方案
  • Python训练营打卡Day32-神经网络的训练
  • 【Golang】Golang内存泄漏问题排查(二)
  • OpenCv(三)——图像平滑处理
  • 8. 函数简介
  • OpenCV中对图像进行平滑处理的4种方式
  • HarmonyOS AI辅助编程工具(CodeGenie)智慧调优
  • 力扣(LeetCode) ——225 用队列实现栈(C语言)
  • 信息vs知识:人类学习与AI规则提取
  • 异步编程的 8 种实现方式:疑难点与注意事项解析
  • 《疯狂Java讲义(第3版)》学习笔记ch4
  • 安全加固4(K8S最小化微服务安全)
  • C++ 中的元控制流与概念化类型擦除
  • Elasticsearch 中如何配置 RBAC 权限-实现安全的访问控制
  • 论郑和下西洋元素融入课件编辑器的意义与影响​
  • 智能门锁:安全与便捷的现代家居入口
  • UE小:编辑器模式下「窗口/鼠标不在焦点」时仍保持高帧率
  • UE5配置MRQ编解码器输出MP4视频
  • Mybatis学习笔记(三)
  • PostgreSQL 免安装
  • AXI GPIO 2——ZYNQ学习笔记
  • 相较于传统AR作战环境虚拟仿真系统,其优势体现在哪些方面?
  • Mysql基本使用语句(一)
  • 生成和发布博客的工作流
  • 力扣(串联所有单词的子串)
  • ChatECNU 边缘 AI 智能体对话