SESSION_LIMIT_LOCKS 配置参数

SESSION_LIMIT_LOCKS 配置参数指定非管理员用户在一个会话中可用锁的最大数目。

onconfig.std 值
如未出现
2147483647
500 至 2147483647
单位
在内部锁表中锁的数目
生效
编辑 onconfig 文件并重启数据库服务器之后。

用法

对于非管理员用户,在一个会话中锁的最大数目可以是从 5002147483647 范围内任何指定的值。

如果指定的值在 1500 的范围内,则对于非管理员用户有效的最大数目是 500

如果指定的值为 0 或负数,则缺省值 2147483647 对所有用户都有效。

如果使用 onmode -wmonmode -wf 来设置这个参数,则对于无效值显示一个适当的消息。例如,
% onmode -wm SESSION_LIMIT_LOCKS=200 
          
          New value is invalid. Suggested value: (500). 
        

SESSION_LIMIT_LOCKS 设置不可限制拥有管理权限的用户在会话中允许的锁数目,诸如用户 gbasedbt 或 DBSA 用户,缺省情况下,允许其每会话的最大值总是 2147483647 个锁。对于管理员的大的最大锁限制,通常不必设置这个参数,或设置相应的 SQL 的 SET ENVIRONMENT 语句的 IFX_SESSION_LIMIT_LOCKS 会话环境选项。

然而,在要求非常大量锁的数据处理上下文中,管理员可能设置 SESSION_LIMIT_LOCKS 为一个值,以图降低普通用户在并发会话中用尽数据库服务器锁资源的风险,由此妨碍大量密集锁操作。

重要:

在可重复的读隔离级别中,因为要求锁的活动集中的每一行,请小心设置服务器上锁的限制过低。类似地,设置锁限制过小可妨碍 Enterprise Replication 任务,或妨碍非 DBSA 用户发出的 cdr 命令。