指定单个进程可以容纳的最大锁数

更改开始 安装面板 DSNTIPJ 的“每个用户的锁”字段指定了单个进程在任何时候可以持有的页面、行、LOB 或 XML 锁的最大数量,但在设置 全局变量后,对“每个用户的锁”的后续更改对应用程序没有影响。此字段 SYSIBMADM.MAX_LOCKS_PER_USER 包括 目录和目录以及用户数据的锁。 Db2 但是,它不包括用于装订操作的目录锁。更改结束

关于本任务

FL 507

开始特定程序编程接口信息。 当对页面、行、LOB或XML锁的请求超出指定限制时,将收到SQLCODE -904: 资源不可用 (SQLSTATE '57011')。 在释放部分现有锁之前,无法获取请求的锁。

缺省值是 10000。

在使用页面锁定功能时,默认设置应能满足90%的工作量需求。 如果您在非常大的表格上使用行锁,您可能需要更高的值。 如果您使用LOB或XML数据,您可能需要更高的值。

过程

要确定一个进程所需的锁的最大数量:

  • 审查需要更高值的申请流程,看看它们是否可以使用表空间锁,而不是页面、行、LOB或XML锁。
    会计跟踪显示了应用程序运行时一个进程所持有的最大页面、行、LOB或XML锁的数量。
  • 请记住,指定的数值是针对单个应用程序的。
    每个并发应用程序最多可容纳指定的最大锁数。 除非运行应用程序需要,否则不要指定零或非常大的数字。结束特定程序编程接口信息。