我正在 zLinux SLES 12SP5 上运行 DB2 v11.5.9。
我正在尝试构建一个 SQL 语句(因此不使用 db2pd 实用程序),以便查找当前在特定包上持有内部计划锁(共享锁)的所有应用程序/连接/应用程序句柄。 我拥有的唯一信息是包架构和名称。 我没有使用表函数 MON_GET_LOCKS 和 MPN_FORMAT_LOCK_NAME 到达那里...
谢谢
尝试了我知道的所有表功能/管理视图
试试这个:
SELECT L.LOCK_NAME, L.APPLICATION_HANDLE
FROM TABLE (MON_GET_LOCKS ('<lock_object_type>plan</lock_object_type>', -2)) L
CROSS JOIN TABLE
(
SELECT VALUE AS UNIQUE_ID
FROM TABLE (MON_FORMAT_LOCK_NAME (L.LOCK_NAME))
WHERE NAME = 'PACKAGE_TOKEN'
) F
JOIN SYSCAT.PACKAGES P ON P.UNIQUE_ID = F.UNIQUE_ID
WHERE (P.PKGSCHEMA, P.PKGNAME) = ('MY_PKG_SCHEMA', 'MY_PKG_NAME')