GaussDB(DWS)故障应急处理措施
【摘要】 一、故障应急措施出现故障后需尽快恢复,应急恢复方案有以下几种:查杀语句:查找引发故障的语句,并将其终止掉;屏蔽SQL:同一个SQL反复执行,且短时间无法找到调用者时,可以屏蔽SQL规避;锁用户:在一个用户下发大量SQL引发资源瓶颈、查询堆积等问题时,可以尝试锁用户解决;切资源池;如果用户使用资源较高,但是业务无法终止情况下,可以将用户切换至低优资源池,让其慢慢运行;Kill实例:作业引发实例...
一、故障应急措施
出现故障后需尽快恢复,应急恢复方案有以下几种:
- 查杀语句:查找引发故障的语句,并将其终止掉;
- 屏蔽SQL:同一个SQL反复执行,且短时间无法找到调用者时,可以屏蔽SQL规避;
- 锁用户:在一个用户下发大量SQL引发资源瓶颈、查询堆积等问题时,可以尝试锁用户解决;
- 切资源池;如果用户使用资源较高,但是业务无法终止情况下,可以将用户切换至低优资源池,让其慢慢运行;
- Kill实例:作业引发实例故障,且上述方法无法恢复时,kill实例;
- 重启集群:集群异常,需要重启恢复;
- 重启服务器:业务引发服务器故障,需紧急重启。
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)