1 数据库 挂起一条 sql 不提交
dbaccess db1 -
begin;
delete from t1 where c1=10;
该事务未提交,此时会在表上和行上分别有意向独占锁与独占锁
方式1 sql语句
信息可知
第一个红框中
t1表上有意向独占锁,rowid为0 代表为表锁,type IX 为意向独占锁 owner 44 表示session id 为44
第二个红框中
t1表中有行锁,rowid 268代表被锁的行 type X 为独占锁 owner 44 表示session id 为44
waiter 表示等待该锁资源释放的session id,当开启锁等待时会显示
查看产生此锁的sql
解锁
EXECUTE FUNCTION sysadmin:task("onmode","z","44");
方式2 命令行方式
信息可知 tblsnum 为 600617 的表上存在意向独占锁 行上有独占锁,并且行操作为 delete (D)
rowid 为 10c 十进制为268 与 sql查看的结果一致
如何查找tblsnum 为 600617 对应是哪张表呢
发现 为 db1 库下的 t1 表
查看对应的sql
先根据 owner 找到对应session id ,然后 onstat -g sql session id
解锁 onmode -z 44