您可以创建配置文件,允许外部存储过程共享锁。
关于本任务
您可以使用配置文件表来指定与任何事务共享锁的程序名称,这些事务在RRS上下文中调用,例如 CICS。 更多信息,请参阅 ATTRIBUTE1 描述。
当应用程序首次建立连接时,在适用的配置文件中会识别一个或多个程序名称。 必须在存储过程运行时定义配置文件。
过程
要指定可在 RSS 上下文中共享锁定的存储过程,请完成以下步骤:
- 在 SYSIBM.DSN_PROFILE_TABLE 表格中插入一行以创建配置文件并指定过滤条件:
- 在 PROFILEID 列中,指定一个唯一的值或接受生成的默认值。 该值标识 DSN_PROFILE_TABLE 和 DSN_PROFILE_ATTRIBUTES 行之间的配置文件和关系。
- 指定个人资料的过滤条件。
您可以从
以下过滤类别中选择一个,在列中指定数值:
- 仅位置
- 仅PRDID
- AUTHID、ROLE或两者
- COLLID、PKGNAME或两者
- CLIENT_APPLNAME、CLIENT_USERID或CLIENT_WRKSTNNAME之一
过滤值不区分大小写,无论输入值的大小写如何,配置文件都可以匹配。
其他过滤列必须包含空值。
提示 :如果您创建了多个具有相同过滤条件的配置文件,
Db2 会根据特定的优先顺序,从每个过滤类别中仅应用一个配置文件。
如果多个 DSN_PROFILE_TABLE 行指定了相同的过滤条件,则启动配置文件时,仅接受最新的行,其他重复行将被拒绝。
此外,精确值优先于使用星号(*)通配符的值。 然而,不同过滤类别的配置文件都可以应用。 有关这些规则的更多信息,请参阅
Db2 如何为话题和连接应用多个匹配的配置文件。
- 在“启用配置文件”列中,指定“Y”,以便在启动配置文件时启用配置文件。
如果 PROFILE_AUTOSTART 子系统参数设置为 YES,则当您发出 START PROFILE 命令或 Db2 启动时,配置文件将启动。
- 通过在 SYSIBM.DSN_PROFILE_ATTRIBUTES 表中插入一行或多行,并指定以下列值,指定可共享锁定的存储过程的名称:
- 从 DSN_PROFILE_TABLE 行中指定 PROFILEID 值,该值用于指定此配置文件的过滤条件。
提示: 
对任何需要相同过滤条件的DSN_PROFILE_ATTRIBUTES行使用相同的PROFILEID值。
如果多个 DSN_PROFILE_TABLE 行包含完全匹配的过滤条件,则启动配置文件时,仅接受最新的重复行,其他行将被拒绝并禁用。
- 在关键词一栏中输入SHARE_LOCKS。
- 在 “属性”栏中 ,指定个人资料的属性:
- ATTRIBUTE1
- 分配一个或多个存储过程名称,以便与在RRS上下文中调用的任何事务共享锁,例如通过外部 CICS 接口(EXCI)进行的 CICS 事务。 数值必须采用以下格式:
PROCEDURE_LIST=procedure-name, procedure-name, ...
每个过程名称必须标识一个外部过程(而不是外部SQL过程),使用过程模式限定,且不能指定一个三部分名称。 ATTRIBUTE1 值的字符长度不得超过1024字节。
- ATTRIBUTE2
- NULL
- ATTRIBUTE3
- NULL
- 通过发出START PROFILE命令,将配置文件表加载或重新加载到内存中。 (为了获得最佳效果,在添加或修改现有配置文件时,请勿发出“停止配置文件”命令。 仅当您打算禁用所有现有配置文件时,才可使用 STOP PROFILE 命令。) 更多信息,请参阅启动和停止配置文件。
- 在DSN_PROFILE_HISTORY和DSN_PROFILE ATTRIBUTES_HISTORY表的STATUS列中查看所有新添加的配置文件的状态。
START PROFILE命令的成功执行并不意味着所有配置文件都成功启动。 如果任一历史记录表的“状态”列包含不以“已接受”开头的值,则需要采取进一步操作才能启用配置文件或关键字操作。
示例
假设您在 SYSIBM.DSN_PROFILE_ATTRIBUTES:
| 个人信息 |
关键词 |
ATTRIBUTE1 |
属性 时间戳 |
| 1 |
分享_锁定 |
PROCEDURE_LIST= ACCTG.UPDATE_ADDRESS |
2021年10月23日... |
此配置行指定存储过程 ACCTG.UPDATE_ADDRESS 可与分布式线程共享锁。