GaussDB(DWS)故障应急处理措施

举报
门前一棵葡萄树 发表于 2023/12/22 15:19:22 2023/12/22
【摘要】 一、故障应急措施出现故障后需尽快恢复,应急恢复方案有以下几种:查杀语句:查找引发故障的语句,并将其终止掉;屏蔽SQL:同一个SQL反复执行,且短时间无法找到调用者时,可以屏蔽SQL规避;锁用户:在一个用户下发大量SQL引发资源瓶颈、查询堆积等问题时,可以尝试锁用户解决;切资源池;如果用户使用资源较高,但是业务无法终止情况下,可以将用户切换至低优资源池,让其慢慢运行;Kill实例:作业引发实例...

一、故障应急措施

出现故障后需尽快恢复,应急恢复方案有以下几种:

  1. 查杀语句:查找引发故障的语句,并将其终止掉;
  2. 屏蔽SQL:同一个SQL反复执行,且短时间无法找到调用者时,可以屏蔽SQL规避;
  3. 锁用户:在一个用户下发大量SQL引发资源瓶颈、查询堆积等问题时,可以尝试锁用户解决;
  4. 切资源池;如果用户使用资源较高,但是业务无法终止情况下,可以将用户切换至低优资源池,让其慢慢运行;
  5. Kill实例:作业引发实例故障,且上述方法无法恢复时,kill实例;
  6. 重启集群:集群异常,需要重启恢复;
  7. 重启服务器:业务引发服务器故障,需紧急重启。

1.1 查杀语句

--执行以下SQL,查杀执行时间最长的5个SQL
select 'execute direct on(' || coorname || ') ''select pg_cancel_backend(' || pid || ')'';', 
sysdate - query_start as dur, state, query_id, enqueue, query 
from pgxc_stat_activity 
where state <> 'idle'  and usename <> 'Ruby' and usename <> 'omm' 
order by dur desc limit 100;

--执行以下SQL,按照执行时间/CPU/内存/算子落盘信息查杀语句
SELECT 'execute direct on(' || a.coorname || ') ''select pg_cancel_backend(' || a.pid || ')'';' as query_c, 
s.max_cpu_time/s.duration as max_cpu, s.total_cpu_time/s.duration as total_cpu,
max_peak_memory, max_spill_size, 
a.state, sysdate - a.query_start as dur, a.query_id, a.enqueue, a.query 
from pgxc_stat_activity a
left join pgxc_wlm_session_statistics s on s.queryid=a.query_id
where a.state <> 'idle' and a.usename <> 'Ruby' and a.usename <> 'omm' 
order by dur desc limit 100;

--确认执行结果
Select * from pgxc_thread_wait_status where query_id = xxx;

1.2 屏蔽SQL

--CN日志中获取作业query_id,执行以下命令查询作业Unique SQL ID。
select queryid,unique_sql_id,substr(query,1,50) from pgxc_wlm_session_info where 1 = 1
and queryid=query_id 
and query like '%%';

--将语句加入黑名单
select gs_append_blocklist(unique_sql_id);

--查询黑名单
SELECT * FROM dbms_om.gs_blocklist_query;

--移除黑名单
select gs_remove_blocklist(unique_sql_id);

1.3 锁用户

--锁用户
ALTER USER user_name ACCOUNT LOCK;
--解锁用户
ALTER USER user_name ACCOUNT UNLOCK;

1.4 切资源池

--切换资源池
ALTER USER user_name RESOURCE POOL 'rp_name';

--确认资源池切换成功
select respool from pg_user where usename = 'user_name';
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。