GreenPlum 锁表以及解除锁定
这种情况极有可能是segment节点相关表加了锁,所以遇到这种情况除了排查master节点的锁,所有的segment也要查看锁的持有情况,然后根据情况,进行处理。
查看segment锁情况
select gp_execution_dbid(), pid, relation::regclass, locktype, mode, granted
from gp_dist_random('pg_locks');
select gp_execution_dbid() dbid,procpid,current_query
from gp_dist_random('pg_stat_activity')
where procpid in
(select pid from gp_dist_random('pg_locks') where locktype='relation' and mode='ExclusiveLock');
根据实际情况进行处理
1.连接相关segment,xxxx替换为实际segment节点的ip,端口,库名
PGOPTIONS="-c gp_session_role=utility" psql -h xxxxxxxxx -p xxxx -d xxxxx
2.在segment查询相关锁情况
SELECT
w.current_query as waiting_query,
w.procpid as w_pid,
w.usename as w_user,
l.current_query as locking_query,
l.procpid as l_pid,
l.usename as l_user,
t.schemaname || '.' || t.relname as tablename
from pg_stat_activity w
join pg_locks l1 on w.procpid = l1.pid and not l1.granted
join pg_locks l2 on l1.relation = l2.relation and l2.granted
join pg_stat_activity l on l2.pid = l.procpid
join pg_stat_user_tables t on l1.relation = t.relid
where w.waiting;
3.处理持有锁的pid
select pg_terminate_backend('procpid');
---------------------
原文:
GreenPlum 锁表以及解除锁定的更多相关文章
- oracle 查看被锁表 及解除锁定
查看 哪些表 被锁了 SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$ ...
- DB2解除锁表
背景 生产环境中,我几乎没有遇到过锁表.多是在开发过程中遇到的,比如团队开发中经常会遇到多个功能访问同一张表的情况.如果有开发人员在这张表加了排它锁,然后又忘记提交事务,那么其他开发人员就要一直等待了 ...
- oracle解除锁表【原】
在日常操作中,经常会有不小心被锁表的情况发生 一般造成原因有: 开发人员不小心执行了 for update 查询语句后,没有解锁 不合理代码中开启事务(begin transaction)后,没有关闭 ...
- SqlServer 查看被锁的表和解除被锁的表
查看被锁的表 1 2 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName ...
- sqlserver查看锁表进程及对锁定的表进行解锁
select request_session_id spid,object_name(resource_associated_entity_id) tableName from sys.dm_tran ...
- sql server 查询所有被锁表并批量解除
废话不多说,直接上代码: --查询被锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) table ...
- Oracle锁表与解锁
查看锁表语句:方法1: select sess.sid, sess.serial#, lo.oracle_username, lo.o ...
- mysql的事务处理与锁表
数据库的事务处理可以保证一组处理结果的正确性.mysql中只有INNODB和BDB引擎的数据表才支持事务处理,对于不支持事务的MyISAM引擎数据库可以使用表锁定的方法来实现相同的功能. mysql的 ...
- Oracle系列-锁表与解锁解决方案(基础版)
[Oracle锁表查询和解锁解决方案] 一.了解原因(借鉴整理) 数据库操作语句的分类 DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert.delete.upd ...
随机推荐
- C语言的关键字和数据类型
C语言关键字 C语言数据类型
- oracle sqlplus命令
show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all --查看所有68个系统变量值 SQL> show user --显示当前连接用户 SQL> ...
- NIO--ByteBuf
Nio 的ByteBuffer 和 Netty 的 ByteBuf 的区别: 1.ByteBuf 将 ByteBuffer的position 分解为:readIndex , writeIndex 因 ...
- hdu 1342.. 复习广搜 顺便练习一下一个脑残的格式
In a Lotto I have ever played, one has to select 6 numbers from the set {1,2,...,49}. A popular stra ...
- opencv Cascade Classifier Training中 opencv_annotation命令
在win7 cmd中试了官方的指令opencv_annotation --annotations=/path/to/annotations/file.txt --images=/path/to/ima ...
- falcon 数据丢失处理方法参考
背景:使用 netstat -ano | grep ESTABLISH | grep 11883 监控 send_Q 和 recv_Q 的值,由于单次推送数据量在1w条以上,导致falcon-agen ...
- 【转】JRE和JDK的区别
用一幅图来宏观的看一下 从图中可以看出JDK包含JRE包含JVM. JDK:java development kit (java开发工具) JRE:java runtime environment ( ...
- zookeeper安装简要步骤
vi zoo.cfg1.dataDir=/var/zookeeper2.server.1=zoo1:2888:3888server.2=zoo2:2888:3888server.3=zoo3:2888 ...
- CentOS8 NextCloud 私有云存储搭建
本文首发:https://www.somata.work/2019/CentOS8NextCloudBuild.html 之前发现 Owncloud 越来越捞了,推出了企业版和社区版,近几日突然发现原 ...
- K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(下)
Kubernetes CSI Snapshot(下篇) 目标目前在Kuberentes中,卷插件仅支持配置空的存储卷.随着新的存储功能(包括卷快照和卷克隆)的提出,因此需要支持配置卷时数据填充以.例 ...