在达梦(DM)数据库中,max_session_statement 是一个重要的系统参数,用于管理单个会话(Session)在数据库中能够同时持有的最大SQL语句数量。以下是对该参数的详细解释: 1. max_session_statement 是什么max_session_statement 是达梦数据库中的一个系统参数,用于限制单个会话能够同时持有的最大SQL语句数量。
达梦数据库通过配置系统参数 MAX_SESSION_STATEMENT 来管控数据库单个会话上允许同时打开的语句句柄最大数。一般情况下,当单个会话上句柄数达到 MAX_SESSION_STATEMENT 设置后,会出现【语句句柄个数超上限或系统内存不足】报错。 在遇到该问题时,为了快速恢复系统,可以参考如下思路进行恢复: 可以通过调大 dm.ini 文件...
cat /home/dmdba/dmdbms/data/DAMENG/dm.ini |grep MAX_SESSION 1. 达梦的会话主要受限如上2个参数。 MAX_SESSIONS :系统允许同时连接的最大数,同时还受到LICENSE 的限制,取二者中较小的值。MAX_SESSION_STATEMENT :系统级单个会话上允许同时打开的语句句柄最大数。 生产环境建议将MAX_SESSIONS 设置到1500,MAX...
单个会话最大句柄数MAX_SESSION_STATEMENT 3.2、数据库当前连接数: 3.3、查询句柄数 select sess_id,sql_text,state,n_stmt "句柄的容量",n_used_stmt as "使用的句柄数",curr_sch,user_name,trx_id,create_time,clnt_type,clnt_ip,run_status from v$sessions order by 使用的句柄数 desc ; 3.4、统计...
我们可以初步判断: 句柄数 max_session_statement 是用于限制查询结果集的。那么这个限制在什么维度生效?我们进行以下测试:经过测试,我们可以得出结论:句柄数 max_session_statement 是用于限制在 一个事务中 查询结果集个数的。我们将此参数修改为 5000。毕竟,再大些的事务,就一定要拆分了。
SP_SET_PARA_VALUE(2,'MAX_SESSIONS', 1500); SP_SET_PARA_VALUE(2,'MAX_SESSION_STATEMENT', 20000); SP_SET_PARA_VALUE(2,'PK_WITH_CLUSTER', 0); SP_SET_PARA_VALUE(2,'ENABLE_ENCRYPT',0); SP_SET_PARA_VALUE(2,'OLAP_FLAG',2); ...
我们进行以下测试: 同一个session中,执行200条查询语句,每条单独提交 👌 同一个事务中,执行200条查询语句,统一提交 🙅(第101条报错) 经过测试,我们可以得出结论:句柄数max_session_statement是用于限制在一个事务中查询结果集个数的。 我们将此参数修改为 5000。毕竟,再大些的事务,就一定要拆分了。©...
SELECT 'MAX_SESSIONS' AS 参数名, SF_GET_PARA_VALUE(1,'MAX_SESSIONS') AS 参数值 UNION ALL SELECT 'MAX_SESSION_STATEMENT',SF_GET_PARA_VALUE(1,'MAX_SESSION_STATEMENT') UNION ALL SELECT 'MAX_OS_MEMORY',SF_GET_PARA_VALUE(1,'MAX_OS_MEMORY') UNION ALL ...
SP_SET_PARA_VALUE (2,'MAX_SESSION_STATEMENT',20000); SP_SET_PARA_VALUE (2,'CACHE_POOL_SIZE',200); SP_SET_PARA_VALUE (2,'DICT_BUF_SIZE',100); 方式二:alter方式 alter system set 参数 memory|spfile|both(三种指定方式) 示例:
MAX_SESSION_STATEMENT 10000 动态,系统级 单个会话上允许同时打开的语句句柄最大数,取值范围 64~20480) MAX_SESSION_MEMORY 0 动态,系统级 单个会话的运行内存上限,单位 MB,取值范围 0~262144,0 表示不限制 MAX_CONCURRENT_OLAP_QUERY 0 静态 OLAP 模式下能同时执行的复杂查询个数,超过限制后,复杂查询将在执行...