在达梦数据库适配使用过程中,偶尔会遇到超过最大连接数限制的问题:

6fa60dfb8de457a7f0322721c1a9009.png

可从以下几个方面排查:

1、查看数据库最大连接数是否超过上限

1)dm.ini查看MAX_SESSIONS参数096006bf721d06624e6f1e71c84e4a6.png
2)数据库内存中MAX_SESSIONS参数值

4737650161e67664f91dff2b31c6d27.png

3)直接查看v$dm_ini查看MAX_SESSIONS参数值信息

1
select * from v$dm_ini where para_name='MAX_SESSIONS';

848a9b43f95cac87a72bab565e4debf.png

4)查看当前数据库会话连接数(v$sessions)

10f3e473197e1ab9a27a1e03e637118.png

2be9e39dd6c43edfd047ee9faadcfda.png

可以看到实际连接数超数据库内存中最大连接限制导致,同时发现ini参数值和内存值不符

5)max_sessions为静态参数值需要重启生效

image.png

测试过程中发现,重启并未生效,且无论改为多少依旧为5

2、查看试用key(v$license)

2efdbedc6fd6d022135afbcc80f5aaa.png

可以看到CONCURRENCY_USER_NUMBER并发连接数上限为5,由此可见是license影响最大连接数限制的,可以移走数据库安装bin目录下的dm.key,使用开发版解决,使用期为1年

3、查看用户是否设置了资源限制

image.png

当用户本身设置了最大会话数,当超过连接上限时也会报出最大连接数限制的问题