欢迎来到天天文库
浏览记录
ID:50127931
大小:57.00 KB
页数:12页
时间:2020-03-05
《数据库异常处理技术报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库异常处理技术报告文档控制修改记录日期作者版本修改记录审阅姓名职位目录背景概述1报告内容2技术细节3数据库CRASH3数据库性能不理想导致业务停顿4数据库挂起6关键业务由于持续错误无法完成工作7结论8附录9背景概述在日常数据库维护过程中,经常遇到数据库CRASH,数据库一些性能问题,数据库HANG,某些关键业务无法正常完成。一般出现这些问题后,为了保障业务正常运行,经常直接重新启动数据库。这样无法保留当时的数据库的一些状态信息,在后期进行问题分析的时候有很大的难度。经常是一个问题不了了之。报告内容在该报
2、告中,会针对数据库的各种不同异常情况,在出现这种情况下,应该做那些相关的信息收集。通过收集的信息判断数据库在不同异常情况下暴露的问题,提供相关的技术手段避免问题的再次发生。该报告分析数据库在下列四种情况下发生异常时要做的分析操作:1.数据库CRASH2.数据库性能不理想导致业务停顿3.数据库挂起4.关键业务由于持续错误无法完成工作技术细节数据库CRASH当数据库CRASH后,整个数据库服务已经完全停止。这个时候请查看数据库警告日志,检查是否有对应的TRACE文件生成。收集数据库TRACE文件,RDA报告。如
3、果客户购买有ORACLE的标准服务,针对该问题创建一级TAR。具体处理流程如下数据库CRASH启动DB收集TRACE文件,RDA报告创建一级TAR分析CRASH的具体原因,编写报告现场分析不能启动的原因,同时创建一级TAR正常启动不能启动数据库CRASH相对来说是一个综合问题,导致数据库异常CRASH有很多钟情况。一般如果由于是硬件原因导致,那么数据库很难在短时间内启动。那么要确认数据库有没有很完善的备份策略。如果是数据库软件配置问题,可以调整部分参数,在短时间内将数据库启动。数据库性能不理想导致业务停顿在
4、某些特殊情况下,数据库性能急剧下降,部分应用大量消耗系统资源。严重时导致整个系统运行缓慢。在这种情况下,对数据库做相关的下列操作。1如果是CPU/Memory紧张,用glance/topas检查topprocess消耗时间1分钟如果alert_sid.log文件有出错信息,找出问题关键的sessionid/OSprocessid消耗时间1分钟如没有OS/DB出错信息,使用脚本检查两阶段事务和lockhandle事务。然后使用event10046/10053采集sqlplan消耗时间5分钟使用statspac
5、k来收集数据库性能报告,如果系统性能极低,。Snap间隔5分钟。然后做hanganalyzedump,间隔90秒。消耗时间10分钟2(3a)如果topprocess不是数据库服务器进程,立即kill-9ospid(如果是oracle应用进程则在执行kill-9前先做收集processstatedump信息)消耗时间2分钟(3b)如sessionid没有指向数据库服务器进程,收集processstatedump信息然后立即用killsession命令关闭这个数据会话消耗时间2分钟(3c)删除pending两阶
6、段事务和lockhandle事务。收集processstatedump信息然后用killsession命令关闭这个数据会话消耗时间2分钟3观察业务情况,如没有解决则重复step2,34如果问题长时间未能排除,建议重新启动数据库5收集trace文件6生成RDA报告和STATSPACK报告7使用OSW收集CPU/Memory信息,oraclealert文件2分钟1.收集事物状态收集两阶段事务SELECTlocal_tran_idFROMdba_2pc_pending;Executedbms_transactio
7、n.purge_lost_db_entry('');Commit;收集某个进程的信息10046主要是对应在数据库使用基于规则模式下的统计信息,10053主要对应数据库使用基于成本优化模式下的统计信息。Event10046:Sql>oradebugsetospid[pid]Sql>oradebugunlimitSql>oradebugevent10046tracenamecontextforever,level12sql>oradebugevent10046tracenameco
8、ntextoffEvent10053:Sql>oradebugsetospid[pid]Sql>oradebugunlimitSql>oradebugevent10053tracenamecontextforever,level12sql>oradebugevent10053tracenamecontextoff2.收集PROCESSDUMPSql>oradebugsetospid[ospid]Sql>orade
此文档下载收益归作者所有