LOCKS_挂起管理视图-检索有关挂起的锁定的信息
LOCKS_挂起的管理视图返回有关当前挂起的锁定的信息。
模式为 SYSIBMADM。
权限
需要下列其中一个权限:
- LOCKS_挂起的管理视图上的 SELECT 特权
- LOCKS_挂起的管理视图上的 CONTROL 特权
- DATAACCESS 权限
此外,要访问快照监视器数据,还需要下列其中一个权限:
- SYSMON
- SYSCTRL
- SYSMAINT
- SYSADM
缺省 PUBLIC 特权
在非限制性数据库中,当自动创建视图时,将向 PUBLIC 授予 SELECT 特权。
示例
示例 1: 列出数据库 SAMPLE 中每个表持有的锁定总数。
SELECT TABSCHEMA, TABNAME, COUNT(*) AS NUMBER_OF_LOCKS_HELD
FROM SYSIBMADM.LOCKS_HELD WHERE DB_NAME = 'SAMPLE'
GROUP BY DBPARTITIONNUM, TABSCHEMA, TABNAME以下是此查询的输出示例。
TABSCHEMA TABNAME NUMBER_OF_LOCKS_HELD
----------...- ---------...- --------------------
JESSICAE EMPLOYEE 5
JESSICAE EMP_RESUME 1
JESSICAE ORG 3
示例 2: 列出当前连接的数据库 SAMPLE 中未升级的所有锁定。
SELECT AGENT_ID, TABSCHEMA, TABNAME, LOCK_OBJECT_TYPE, LOCK_MODE,
LOCK_STATUS FROM SYSIBMADM.LOCKS_HELD WHERE LOCK_ESCALATION = 0
AND DBPARTITIONNUM = 0以下是此查询的输出示例。
AGENT_ID TABSCHEMA TABNAME LOCK_OBJECT_TYPE LOCK_MODE LOCK_STATUS
--------...- ---------...- --------...- ------------------ ---------- -----------
680 JESSICAE EMPLOYEE INTERNALV_LOCK S GRNT
680 JESSICAE EMPLOYEE INTERNALP_LOCK S GRNT
示例 3: 列出代理程序标识为 310 的应用程序当前持有的锁定的锁定信息。
SELECT TABSCHEMA, TABNAME, LOCK_OBJECT_TYPE, LOCK_MODE, LOCK_STATUS,
LOCK_ESCALATION FROM SYSIBMADM.LOCKS_HELD WHERE AGENT_ID = 310以下是此查询的输出示例。
TABSCHEMA TABNAME LOCK_OBJECT_TYPE LOCK_MODE LOCK_STATUS
---------...- --------...- ------------------ ---------- -----------
JESSICAE EMP_RESUME TABLE_LOCK S GRNT
JESSICAE EMPLOYEE ROW_LOCK S GRNT
返回的信息
| 列名 | 数据类型 | 描述或相应的监视元素 |
|---|---|---|
| snapshot_timestamp | TIMESTAMP | 生成报告的日期和时间。 |
| DB_NAME | VARCHAR(128) | db_name - 数据库名称 |
| AGENT_ID | BIGINT | agent_id - 应用程序句柄(代理程序标识) |
| APPL_NAME | VARCHAR(256) | appl_name - 应用程序名称 |
| AUTHID | VARCHAR(128) | auth_id - 授权标识 |
| tbsp_name | VARCHAR(128) | tablespace_name - 表空间名称 |
| TABSCHEMA | VARCHAR(128) | table_schema - 表模式名 |
| TABNAME | VARCHAR(128) | table_name - 表名 |
| tab_file_id | BIGINT | table_file_id - 表文件标识 |
| LOCK_OBJECT_TYPE | VARCHAR(18) | lock_object_type-等待的锁定对象类型 。 此接口根据 sqlmon.h 中的定义返回文本标识,并且是下列其中一项:
|
| LOCK_NAME | VARCHAR(32) | lock_name - 锁定名称 |
| LOCK_MODE | VARCHAR(10) | lock_mode-锁定方式 。 此接口根据 sqlmon.h 中的定义返回文本标识,并且是下列其中一项:
|
| LOCK_STATUS | VARCHAR(10) | lock_status-锁定状态 。 此接口根据 sqlmon.h 中的定义返回文本标识,并且是下列其中一项:
|
| LOCK_ESCALATION | SMALLINT | lock_escalation - 锁定升级 |
| DBPARTITIONNUM | SMALLINT | dbpartitionnum -“数据库分区号”监视元素 |
| MEMBER | SMALLINT | member -“数据库成员”监视元素 |