DB2查看表锁定情况与解锁

当数据库中的表查询异常慢时,考虑可能是表锁定的原因

连接数据库服务器,查看锁定情况

  • 用命令:db2pd -db DB_NAME -locks show detail
    DB2查看表锁定情况与解锁
  • 用命令db2 get snapshot for locks on DB_NAME
    DB2查看表锁定情况与解锁
    Application handle表示进程的标识号,该进程执行情况会详细的列出来
    DB2查看表锁定情况与解锁
  • 用SQL:select * from sysibmadm.locks_held with ur查看表锁定情况
    DB2查看表锁定情况与解锁
    发现锁定,找到AGENT_ID,然后force掉db2 "force application (AGENT_ID)"
    DB2查看表锁定情况与解锁
    提示该命令为异步的,可能不会立即生效,所以可能有点慢,比较着急的话,可以db2 force application all 或者重启数据库db2stop force and db2start