文本描述
文档编号
版 本 号
V1.
密 级
应急_数据库紧急处理手册
XXX信息技术有限公司
版本控制
编号
修订人
修订时间
版本号
修订内容说明
目录
1 数据库故障紧急处理流程图
2 数据库故障紧急的分析处理
3 数据库异常处理——查杀SQL处理
3.1 目的
3.2 适用范围
3.3 执行时间
3.4 流程说明
3.5 自动化脚本原理及实现方法介绍
3.6 技术部处理流程
数据库故障紧急处理流程图
数据库故障紧急的分析处理
紧急场景:
服务器掉电或其它硬件故障
紧急处理:
如果服务器掉电或其它硬件故障,则直接切换数据库到备机运行。
把数据库浮动ip地址绑定到切换后的主机。
预防措施:
做好服务器硬件的选型工作,减少硬件出现问题的概率
做好服务器硬件方面的巡检工作,提前发现问题
保证数据库双机状态的可用性,保证切换的有效性。
紧急场景:
数据库服务器负载异常升高,检查操作系统日志/var/log/messages,如果确定出现系统内核bug,导致db2主进程出现问题
紧急处理:
首先查看HADR备机的HADR状态,确定主备数据是否完全同步。
如果主备数据同步,启用备机提供服务,将主机浮动IP绑定在备机上;
如果主备数据不同步,则直接重启主机操作系统,然后启动数据库,重新绑定主机的浮动IP地址。
预防措施:
做好数据库服务器的硬件和操作系统选型工作,尽量减少系统内核bug的出现。
紧急场景:
数据库服务器负载异常升高,有大量的数据库请求被阻塞,并且时间发生在数据库全备份结束时,可确定原因为数据库正在修剪备份历史文件
紧急处理:
重启数据库实例,以中断备份历史文件的修剪操作
或者停止应用服务器,减少数据库请求,以使修剪操作尽快完成
预防措施:
定期检查数据库备份历史文件大小,如果比较大(经验值超过10M),则在凌晨或者停机维护时使用prune命令修剪此文件。
紧急场景:
数据库服务器负载高,发现存在耗时和耗资源的SQL语句
紧急处理:
视情况决定是否将此连接杀掉
分析此SQL,如果SQL写的有问题,则要求相应开发人员修改SQL;如果统计信息有问题,则视情况重新收集统计信息;如果索引创建有问题,则视情况创建索引。
预防措施:
定期巡查各库的SQL语句并进行优化
紧急场景:
表空间状态异常,处于offline和前滚暂挂状态
紧急处理:
确定表空间容器文件的权限是否异常,如果权限有异常,将权限更改后,前滚数据库至日志末尾
预防措施:
严禁修改数据库文件的权限(包括表空间容器文件、日志文件等)
紧急场景:
表空间状态异常,处于备份暂挂状态
紧急处理:
备份异常表空间
预防措施:
严禁在生产数据库使用未带copy yes选项的load命令
带有复制或者HADR的环境中,严禁使用load 命令
紧急场景:
表状态状态异常,处于reorg暂挂状态
紧急处理:
立即对异常表进行重组
预防措施:
表结构变更操作必须在测试环境严格测试后再在生产环境执行
严禁在生产数据库中,进行删除列、设置已有字段非空等的表结构变更操作。
数据库异常处理——查杀SQL处理
目的
为了解决部分应用(SQL语句)导致数据库负载过高,甚至导致数据库无法响应,从而影响所有业务,特制定该流程。
适用范围
该流程的由系统部牵头,技术部、产品