DB2锁表和解锁


1、锁表

DB2锁表和解锁

1.1、用XShell等工具连接数据库

DB2锁表和解锁

1.2、登录数据库实例

db2 connect to 数据库名 user 用户名 using 密码
或者
db2 connect to 数据库名

db2 connect to cumgmdb user cu_mgmap using -U1AkXXX
--或者
db2 connect to cumgmdb

成功后如下图:

DB2锁表和解锁

1.3、锁表

db2 +c “lock table 数据库名.表名 in exclusive mode”

db2 +c "lock table CU_MGMDB.TBL_CUMGM_BIN in exclusive mode"

如下图:表示锁表成功
DB2锁表和解锁
执行查询语句,会发现一直转圈圈,无法查询
DB2锁表和解锁

2、解锁

2.1 登录数据库实例

详见1.2、登录数据库实例

2.2、进入db2top工具

db2top -d 数据库名

db2top -d cumgmdb

执行上述命令后,进入如下界面
DB2锁表和解锁

2.3、按U进入锁定列表

按【U】即可进入锁定列表,注意:是大写的U
DB2锁表和解锁

2.4、按 / 查找锁定的表

按 / 输入要查找的表
DB2锁表和解锁
下图即为成功找到了被锁的表CU_MGMDB.TBL_CUMGM_BIN,
id为59085
DB2锁表和解锁

2.4、按 a 解锁

按【a】,输入被锁表的id,回车

再按【f】,
DB2锁表和解锁
输入y,即可解锁成功

3、另一种解锁方法

db2 commit

4、写在最后

锁表和解锁必须登录DB2数据库后。
为什么要锁表?
软件测试做数据库异常测试时,可以用锁表的方法来模拟异常场景。