MON_FORMAT_LOCK_NAME 表函数 - 格式化内部锁定名称并返回详细信息
MON_FORMAT_LOCK_NAME 表函数对内部锁定名称进行格式化,并以基于行的格式返回有关锁定的详细信息。
每个返回的行都包含一个与该特定锁定相关的 键-值 对。
要获取有关锁定的信息,请使用 MON_FORMAT_LOCK_NAME , MON_GET_LOCKS 和 MON_GET_APPL_LOCKWAIT 表函数 (而不是 SNAPLOCKWAIT 管理视图和 SNAP_GET_LOCKWAIT 表函数) 以及 SNAPLOCK 管理视图和 SNAP_GET_LOCK 表函数 (在 版本 9.7的修订包 1 中不推荐使用)。
授权
需要下列其中一项权限才能执行此例程:
- 对例程的 EXECUTE 特权
- DATAACCESS 权限
- DBADM 权限
- SQLADM 权限
缺省 PUBLIC 特权
无
语法
模式为 SYSPROC。
表函数参数
- lockname
- 类型为 VARCHAR (32) 的输入参数,用于指定要格式化的锁定的内部二进制名称。 NULL 值导致返回错误 SQL0171N 。
返回的信息
| 列名 | 数据类型 | 描述 |
|---|---|---|
| 名称 | VARCHAR(256) | 锁定名称的元素。 请参阅下表以获取更多详细信息。 |
| 值 | VARCHAR(1024) | 元素的值。 |
不会返回构成指定锁定名称的所有元素; 仅返回相关的那些 key-value 对。
可以返回的元素如下所示:
| 元素名称 | 描述 | 可能的值或监视元素 |
|---|---|---|
| LOCK_OBJECT_TYPE | lock_object_type -“等待的锁定对象类型”监视元素 | lock_object_type-锁定对象类型 有关可能的值,请参阅 |
| DATA_PARTITION_ID | data_partition_id -“数据分区标识”监视元素 | data_partition_id - 数据分区标识 |
| TBSP_NAME | 表空间的名称 | tablespace_name - 表空间名称 |
| TABSCHEMA | table_schema -“表模式名”监视元素 | table_schema - 表模式名 |
| TABNAME | table_name -“表名”监视元素 | table_name - 表名 |
| ROWID | 表的行标识 | - |
| PAGEID | 页面标识 | - |
| WORKLOAD_NAME | workload_name -“工作负载名称”监视元素 | workload_name - 工作负载名称 |
| STORAGE_GRP_ID | 存储器组标识 | - |
| BUFFERPOOL_NAME | 缓冲池的名称 | - |
| FED_SERVER_NAME | 联合服务器的名称 | - |
| FED_USER_NAME | 联合用户映射的名称 | - |
| SEQ_OPERATION | 请求序列锁定的操作 | 可能的值包括:
|
| CONTAINER_ID | container_id -“容器标识”监视元素 | - |
| STMT_UID | 语句标识 | - |
| PACKAGE_TOKEN | 程序包令牌 | - |
| INTERNAL | 保留供内部使用 | - |
| TENANT_ID | BIGINT | tenant_id -“租户标识”监视元素 |
| TENANT_NAME | VARCHAR(128) | tenant_name -“租户名称”监视元素 |
示例
在各种情况下 (例如,写入 db2diag 日志文件) 或作为 lock_name 监视元素的值返回内部锁定名称。 以下示例显示如何使用 MON_FORMAT_LOCK_NAME 表函数来查找有关锁定的更多信息,在这种情况下,锁定名称为 0000000E00000000000B00C152。
SELECT SUBSTR(NAME,1,20) AS NAME,
SUBSTR(VALUE,1,50) AS VALUE
FROM
TABLE( MON_FORMAT_LOCK_NAME('0000000E00000000000B00C152')) as LOCK
这将返回以下输出:
NAME VALUE
-------------------- -------------
LOCK_OBJECT_TYPE ROW
ROWID 0
DATA_PARTITION_ID 49408
PAGEID 184549376
TBSP_NAME SYSCATSPACE
5 record(s) selected.