SESSION_LIMIT_LOCKS 配置参数指定非管理员用户在一个会话中可用锁的最大数目。
对于非管理员用户,在一个会话中锁的最大数目可以是从 500 至 2147483647 范围内任何指定的值。
如果指定的值在 1 至 500 的范围内,则对于非管理员用户有效的最大数目是 500。
如果指定的值为 0 或负数,则缺省值 2147483647 对所有用户都有效。
% 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 命令。