问题描述
【产品类型】:GaussdbDB 200
【集群版本信息】:C80SPC300
【问题现象】:Data Studio连接GaussDB 200数据库告警SQL错误代码YY003,告警信息如下:

【集群状态】正常,如图:

处理过程
2.查看PID对应的会话信息 select query_id, pid, query from pg_stat_activity where pid=’140102739162880′

3.通过视图pgxc_thread_wait_status查看PID对应的事务等待信息,等待的Node select * from pgxc_thread_wait_status where tid=’140102739162880′

4.上图的等待,通过PG_LOCKS视图存储各打开事务所持有的锁信息,查PID ‘140102739162880’对应的所有锁信息,并查看事ID,相关信息如下:
select * from pg_locks where pid=’140102739162880′;

5.过SELECT * FROM PGXC_NODE 查看dn_6001的端口,并连上数据库,

根因
通过事务ID查看锁表信息select * from pg_locks where transactionid=’4242644′;

解决方案
1.登录有锁表的DN,结束锁表的PID
select pg_terminate_backend(‘140102739162880’);

DN上再次查看PID是否还在 如:由 select * from pgxc_thread_wait_status where tid=’140102739162880′
2.成功登录Data Studio

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316258.html