分享
XX_应急_数据库紧急处理手册.doc
下载文档

ID:3101649

大小:1.04MB

页数:10页

格式:DOC

时间:2024-01-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
XX_ 应急 数据库 紧急 处理 手册
文档编号 版 本 号 V1.0 密 级 应急_数据库紧急处理手册 XXX信息技术有限公司 版本控制 编号 修订人 修订时间 版本号 修订内容说明 1 2 3 第 8 页 共 10 页 目录 1 数据库故障紧急处理流程图 2 2 数据库故障紧急的分析处理 3 3 数据库异常处理——查杀SQL处理 5 3.1 目的 5 3.2 适用范围 5 3.3 执行时间 5 3.4 流程说明 6 3.5 自动化脚本原理及实现方法介绍 7 3.6 技术部处理流程 7 1 数据库故障紧急处理流程图 2 数据库故障紧急的分析处理 紧急场景: 服务器掉电或其它硬件故障 紧急处理: 1、 如果服务器掉电或其它硬件故障,则直接切换数据库到备机运行。 2、 把数据库浮动ip地址绑定到切换后的主机。 预防措施: 1、 做好服务器硬件的选型工作,减少硬件出现问题的概率 2、 做好服务器硬件方面的巡检工作,提前发现问题 3、 保证数据库双机状态的可用性,保证切换的有效性。 紧急场景: 数据库服务器负载异常升高,检查操作系统日志/var/log/messages,如果确定出现系统内核bug,导致db2主进程出现问题 紧急处理: 1、 首先查看HADR备机的HADR状态,确定主备数据是否完全同步。 2、 如果主备数据同步,启用备机提供服务,将主机浮动IP绑定在备机上; 3、 如果主备数据不同步,则直接重启主机操作系统,然后启动数据库,重新绑定主机的浮动IP地址。 预防措施: 做好数据库服务器的硬件和操作系统选型工作,尽量减少系统内核bug的出现。 紧急场景: 数据库服务器负载异常升高,有大量的数据库请求被阻塞,并且时间发生在数据库全备份结束时,可确定原因为数据库正在修剪备份历史文件 紧急处理: 1、 重启数据库实例,以中断备份历史文件的修剪操作 2、 或者停止应用服务器,减少数据库请求,以使修剪操作尽快完成 预防措施: 定期检查数据库备份历史文件大小,如果比较大(经验值超过10M),则在凌晨或者停机维护时使用prune命令修剪此文件。 紧急场景: 数据库服务器负载高,发现存在耗时和耗资源的SQL语句 紧急处理: 1、 视情况决定是否将此连接杀掉 2、 分析此SQL,如果SQL写的有问题,则要求相应开发人员修改SQL;如果统计信息有问题,则视情况重新收集统计信息;如果索引创建有问题,则视情况创建索引。 预防措施: 定期巡查各库的SQL语句并进行优化 紧急场景: 表空间状态异常,处于offline和前滚暂挂状态 紧急处理: 确定表空间容器文件的权限是否异常,如果权限有异常,将权限更改后,前滚数据库至日志末尾 预防措施: 严禁修改数据库文件的权限(包括表空间容器文件、日志文件等) 紧急场景: 表空间状态异常,处于备份暂挂状态 紧急处理: 备份异常表空间 预防措施: 1、 严禁在生产数据库使用未带copy yes选项的load命令 2、 带有复制或者HADR的环境中,严禁使用load 命令 紧急场景: 表状态状态异常,处于reorg暂挂状态 紧急处理: 立即对异常表进行重组 预防措施: 1、 表结构变更操作必须在测试环境严格测试后再在生产环境执行 2、 严禁在生产数据库中,进行删除列、设置已有字段非空等的表结构变更操作。 3 数据库异常处理——查杀SQL处理 3.1 目的 为了解决部分应用(SQL语句)导致数据库负载过高,甚至导致数据库无法响应,从而影响所有业务,特制定该流程。 3.2 适用范围 该流程的由系统部牵头,技术部、产品部协助,共同制定。当发现异常事件时启动该流程。 异常事件定义: 1、 暂定为包含一次数据更改(包括插入,更新,删除数据)超过5000行的SQL语句的执行(该操作将会被kill掉)。 2、 大负载的SQL语句。 暂定为一个数据查询操作行读超过400万条的SQL语句的执行(此操作会被记录下来,但是不会被kill掉)。 3.3 执行时间 2009-6-22开始执行 3.4 流程说明 Ø 格式如下: 日期(系统部填写) 发起的机器(系统部填写) 执行用户(系统部填写) 执行时间(系统部填写) 更新记录数(系统部填写) SQL语句(系统部填写) 影响的业务(技术部填写) 解决方案(技术部填写) 何时优化(技术部填写) 效果(系统部在填写) 6月15号 效果不明显,XXX Ø 技术部就相关信息进行分析,如果需要其他部门配合,由技术部牵头。 Ø 当天下午15:30之前,由技术部填写该表(影响的业务、解决方案),全部回复收件人。 Ø 系统部数据库组进行存档,并对效果进行检验,并补充填写“效果”一列,并全部回复给收件人。 Ø 如果相同的异常事件连续发生两天,以上邮件必须抄送给系统部与应用中心负责人。 Ø 如达不到效果,由系统部数据库组重新发起该流程。 3.5 自动化脚本原理及实现方法介绍 1) 原理 编写shell脚本通过数据库快照表函数监控数据库的运行,分析快照并抓取我们认为运行异常的事务,记录下该事务的相关信息并取得该事务的application handle。在shell中执行force application停止该异常事务的执行。 2)实现 监控数据库并抓取异常事务 SELECT AGENT_ID ,ROWS_READ,STMT_ELAPSED_TIME_MS,STMT_TEXT FROM TABLE( SNAPSHOT_STATEMENT('mobile', -1)) as dynSnapTab where STMT_START is not null and STMT_TEXT is not null and minute(current timestamp -STMT_START)>1 or ROWS_READ>50000 停止异常事务的执行 db2 "force applications($id)" 3.6 技术部处理流程 Ø 平台负责人(XX)接到系统部数据库小组“数据库异常更新”的通知,着手处理。 Ø 13:30前,根据系统部提供的“异常数据库更新”发起的机器IP、服务名称、SQL语句,初步判定异常更新SQL语句对应的应用、根据SQL语句定位到相应的代码。(如果无法判断,则召集相关人员讨论) Ø 根据分析结果,找到负责相应应用的小组或开发人员,评估该SQL语句的影响到的业务、解决方案、解决方案工作量、承诺的解决时间(上线时间)。 Ø 15:00前,平台负责人(张礼文和李均柠)根据讨论、分析结果,按照“数据库异常更新处理”的要求填写邮件,回复给“数据库异常更新”的所有收件人 和 承诺解决本“数据库异常更新”的负责人。 Ø 承诺解决本次“数据库异常更新”的负责人跟进优化进度,在进度出现问题或正常上线时通知给“数据库异常更新”的所有收件人。

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开