ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

炫“库”行动-人大金仓有奖征文-KingbaseESV8R3表锁处理

2021-10-12 22:01:24  阅读:263  来源: 互联网

标签:金仓 like KingbaseESV8R3 oid sys kill 表锁 where select


【本文正在参与炫“库”行动-人大金仓有奖征文】

https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb

注:kill锁方式

kill有第一种方式:
SELECT sys_cancel_backend(PID) from sys_stat_activity where state like '%idle in transaction%';
这种方式只能kill select查询,对update、delete 及DML不生效)

第二种方式:
SELECT sys_terminate_backend(PID) from sys_stat_activity where state like '%idle in transaction%';
这种可以kill掉各种操作(select、update、delete、drop等)操作


一.查询是否锁表及处理表锁

1.找到表对应的oid

select oid  from sys_locks where granted='f';

2.根据oid找到表名
select relname from sys_class where oid='上述oid';

3.根据oid找到表名
select pid from pg_locks where relation='上面查出的oid'

3.如果查询到了结果,表示该表被锁 则需要释放锁定
select pg_cancel_backend(上面查到的pid);

或者对首次给表加锁的会话整库批量kill

SELECT sys_terminate_backend(PID) from sys_stat_activity where state like '%idle in transaction%';

二.定位锁表具体操作
 

1.找到表对应的oid

select oid  from sys_locks where granted='f';

2.根据oid找到表名
select relname from sys_class where oid='上述oid';

3.根据oid找到表名
select pid from pg_locks where relation='上面查出的oid'

4.查看数据库首次对表加的具体操作信息。select now()-query_start wait , pid,query,state from sys_stat_activity where  and query like '%相关表名%' state like '%idle in transaction%'  order by wait;

【本文正在参与炫“库”行动-人大金仓有奖征文】

https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb

标签:金仓,like,KingbaseESV8R3,oid,sys,kill,表锁,where,select
来源: https://blog.csdn.net/hhy_iiiii/article/details/120732868

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有