达梦8——max_sessions和session_per_usr区别
一、简单介绍
max_sessions参数,表示一个数据库的最大连接会话数量。(即,所有通过用户连接的数量+每个用户的会话数,的总和)
举例:
加入MAX_SESSIONS设置为10,此时已经通过DM管理工具通过SYSDBA用户连接到数据库,并且这个用户打开了1个会话,
又通过tesd用户连接到数据库,并打开了4个会话,
又通过tesd用户连接到数据库,并打开了5个会话,
此时就达到了max_sessions所规定的10个会话,如果此时再想通过SYSDBA或者test用户连接数据库都会报错——通信异常!!
sessions_per_usr参数,表示一个用户可以拥有的规划数量。可以通过select * from v$sessions查询本用户目前的会话数量,并可以通过sp_close_session()过程函数关闭不用的会话。
二、拓展
DM管理工具相对达梦数据库来说也是一个第三方应用,所以通过dm管理工具连接到数据库后,数据库也会多一个session;
如果是通过SYSDBA用户连接数据库,肯定也会多一个session,但是这一个session不会受max_sessions限制;
如果再通过SYSDBA连接,也会限制了;
举例:
加入MAX_SESSIONS设置为10,此时已经通过DM管理工具通过SYSDBA用户连接到数据库,并且这个用户打开了1个会话,(此时有两个会话)
又通过tesd用户连接到数据库,并打开了4个会话,(此时有五个会话)
又通过tesd用户连接到数据库,并打开了4个会话,(此时有四个会话)
此时一共11个会话,减去通过SYSDBA用户连接的那一个会话,就达到了max_sessions所规定的10个会话,如果此时再想通过SYSDBA或者test用户连接数据库都会报错——通信异常!!