- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据库异常处理
技术报告
文档控制
修改记录
日期作者
日期
作者
版本
修改记录
审阅
姓名
职位
目录
TOC\o1-5\h\z\oCurrentDocument背景概述 1
\oCurrentDocument报告内容 2
\oCurrentDocument技术细节 3
数据库CRASH 3
数据库性能不理想导致业务停顿 4
数据库挂起 6
关键业务由于持续错误无法完成工作 7
\oCurrentDocument结论 8
\oCurrentDocument附录 9
背景概述
在日常数据库维护过程中,经常遇到数据库CRASH,数据库一些性能问题,数据库HANG,某些关键业务无法正常完成。一般出现这些问题后,为了保障业务正常运行,经常直接重新启动数据库。这样无法保留当时的数据库的一些状态信息,在后期进行问题分析的时候有很大的难度。经常是一个问题不了了之。
报告内容
在该报告中,会针对数据库的各种不同异常情况,在出现这种情况下,应该做那些相关的信息收集。通过收集的信息判断数据库在不同异常情况下暴露的问题,提供相关的技术手段避免问题的再次发生。
该报告分析数据库在下列四种情况下发生异常时要做的分析操作:
数据库CRASH
数据库性能不理想导致业务停顿
数据库挂起
关键业务由于持续错误无法完成工作
技术细节
数据库CRASH
当数据库CRASH后,整个数据库服务已经完全停止。这个时候请查看数据库警告日志,检查是否有对应的TRACE文件生成。收集数据库TRACE文件,RDA报告。如果客户购买有ORACLE的标准服务,针对该问题创建一级TAR。
具体处理流程如下
数据库CRASH相对来说是一个综合问题,导致数据库异常CRASH有很多钟情况。一般如果由于是硬件原因导致,那么数据库很难在短时间内启动。那么要确认数据库有没有很完善的备份策略。
如果是数据库软件配置问题,可以调整部分参数,在短时间内将数据库启动。
在某些特殊情况下,数据库性能急剧下降,部分应用大量消耗系统资源。严重时导致整个系统运行缓慢。在这种情况下,对数据库做相关的下列操作。
1
如果是CPU/Memory紧张,用glance/topas检查topprocess
消耗时间1分钟
如果alert_sid.log文件有出错信息,找出问题关键的sessionid/OSprocessid
消耗时间1分钟
如没有OS/DB出错信息,使用脚本检查两阶段事务和lockhandle事务。然后使用event10046/10053采集sqlplan
消耗时间5分钟
使用statspack来收集数据库性能报告,如果系统性能极低,。
Snap间隔5分钟。
然后做hanganalyzedump,间隔90秒。
消耗时间10分钟
2
(3a)如果topprocess不是数据库服务器进程,立即kill-9ospid
(如果是oracle应用进程则在执行kill-9前先做收集processstatedump信息)
消耗时间2分钟
(3b)如sessionid没有指向数据库服务器进程,收^rocessstatedump信息然后立即用killsession命令关闭这个数据会话
消耗时间2分钟
(3c)删除pending两阶段事务和lockhandle事务。收集processstatedump信息然后用killsession命令关闭这个数据会话
消耗时间2分钟
3
观察业务情况,如没有解决则重复step2,3
4
如果问题长时间未能排除,建议重新启动数据库
5
收集trace文件
6
生成RDA报告和STATSPACK报告
7
使用OSW收集CPU/Memory信息,oraclealert文件 2分钟
收集事物状态
收集两阶段事务
SELECTlocal_tran_id
FROMdba_2pc_pending;
Executedbms_transaction.purge_lost_db_entry(LOCAL_TRAN_ID);
Commit;
收集某个进程的信息
10046主要是对应在数据库使用基于规则模式下的统计信息,10053主要对应数据库使用基于成本优化模式下的统计信息。
Event10046:
Sqloradebugsetospid[pid]
Sqloradebugunlimit
Sqloradebugevent10046tracenamecontextforever,level12
sqloradebugevent10046tracenamecontextoff
Ev
文档评论(0)