“G”术时刻:南大通用GBase 8a数据库常见故障应急处置介绍-资源使用情况异常

0 阅读4分钟

当数据库发生故障时,你会如何进行应急处理?本文通过梳理南大通用GBase 8a数据库系统使用中可能出现的各种异常情况,以期帮助大家应对GBase 8a数据库使用中的突发故障,提供基本的问题解决思路。

3.资源使用情况异常

3.1Swap使用率增高

现象描述

集群中大量节点Swap使用率增高

现象分析

GBase 8a软件异常,或者异常SQL导致GBase 8a内存溢出,使用内存不断增加,不及时处理会导致Swap空间占满,系统异常宕机。

应急操作流程

此种异常大多由于GBase 8a软件或异常SQL导致,需要通知应用协助排查问题原因。

1)运行部门联系开放平台协助排查问题,通知GBase现场支持协助排查问题;

2)运行部门和GBase现场支持分析系统中运行的异常SQL。

3)运行部门停止产生问题的SQL。

4)开放平台清理操作系统内存,降低Swap使用率。

5)GBase现场支持协助开发优化异常SQL

6)运行部门避免未经测试的SQL运行在生产环境

3.2 CPU使用率增高

现象描述

集群中大量节点CPU使用率增高,IO接近饱和。

现象分析

CPU的大部分时间花在系统切换上,GBase 8a同时处理的并发过高,并且存在几个超长任务(超过2小时未执行完)。

应急操作流程

此种异常大多由于业务调度的并发过高引起,会导致任务处理的整体速度降低。

1)运行部门联系开放平台协助排查问题,通知GBase现场支持协助排查;

2)运行部门和GBase现场支持分析系统中并发运行的任务数。

3)如果并发过高,运行部门降低并发数。如果存在超长SQL,商量是否需要先杀掉,以避免拉低整体性能。

4)GBase现场支持协助开发优化异常SQL,避免未经测试的SQL运行在生产环境。

5)运行部门避免在统一调度系统之外,手工调起作业。

3.3 磁盘IO异常繁忙

现象描述

集群中单个节点或多个节点IO异常繁忙。

现象分析

集群单个节点或多个节点DISKBUSY原高于其他节点(如超过12时间DISKBUSY高于80%)。

应急操作流程

此种异常大多由于硬盘故障或硬盘背板、RAID卡故障引起,会导致任务处理的整体速度降低。

1)运行部门联系开放平台确认问题,并进行后续处理;

2)硬件厂商抓取硬件运行日志,并分析。

3)如果并发过高,运行部门降低并发数。如果存在超长SQL,商量是否需要先杀掉,以避免拉低整体性能。

4)厂商分析日志确定故障硬件后,更换硬件,如更换硬件需停止操作系统,需停止集群服务。

5)GBase现场支持恢复服务。

3.4 磁盘空间满或超过阈值

现象描述

集群中单个节点或多个节点磁盘空间满或使用超过80%。

现象分析

集群中单个节点或多个节点磁盘空间使用超过80%,因GBase 8a集群数据节点须保留20%~30%作为临时空间,磁盘总空间满后,部分SQL会报错,甚至可能到会GBase 8a服务进程crash。

应急操作流程

一般情况下短时间内磁盘使用大幅上升是由笛卡尔乘积SQL或GBase 8a执行计划bug导致。

1)运行部门分析GBase 8a临时空间使用情况。

2)运行部门分析运行SQL情况,确定哪条SQL导致。

3)Kill SQL,观察空间是否释放。

4)如笛卡尔乘积,则反馈开发部分进行处理;如GBase执行计划问题,反馈数据库厂商,要求提供短期解决方案及后期修复计划。