数据库异常处理技术报告_第1页
数据库异常处理技术报告_第2页
数据库异常处理技术报告_第3页
数据库异常处理技术报告_第4页
数据库异常处理技术报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库异常处理技术报告文档控制修改记录日期作者版本修改记录审阅姓名职位目录背景概述1报告内容2技术细节3数据库CRASH3数据库性能不理想导致业务停顿4数据库挂起6关键业务由于持续错误无法完成工作7结论8附录93 / 11文档可自由编辑打印背景概述在日常数据库维护过程中,经常遇到数据库CRASH,数据库一些性能问题,数据库HANG,某些关键业务无法正常完成。一般出现这些问题后,为了保障业务正常运行,经常直接重新启动数据库。这样无法保留当时的数据库的一些状态信息,在后期进行问题分析的时候有很大的难度。经常是一个问题不了了之。报告内容在该报告中,会针对数据库的各种不同异常情况,在出现这种情况下,应

2、该做那些相关的信息收集。通过收集的信息判断数据库在不同异常情况下暴露的问题,提供相关的技术手段避免问题的再次发生。该报告分析数据库在下列四种情况下发生异常时要做的分析操作:1. 数据库CRASH2. 数据库性能不理想导致业务停顿3. 数据库挂起4. 关键业务由于持续错误无法完成工作技术细节数据库CRASH当数据库CRASH后,整个数据库服务已经完全停止。这个时候请查看数据库警告日志,检查是否有对应的TRACE文件生成。收集数据库TRACE文件,RDA报告。如果客户购买有ORACLE的标准服务,针对该问题创建一级TAR。具体处理流程如下数据库CRASH启动DB收集TRACE文件,RDA报告创建一

3、级TAR分析CRASH的具体原因,编写报告现场分析不能启动的原因,同时创建一级TAR正常启动不能启动数据库CRASH相对来说是一个综合问题,导致数据库异常CRASH有很多钟情况。一般如果由于是硬件原因导致,那么数据库很难在短时间内启动。那么要确认数据库有没有很完善的备份策略。如果是数据库软件配置问题,可以调整部分参数,在短时间内将数据库启动。数据库性能不理想导致业务停顿在某些特殊情况下,数据库性能急剧下降,部分应用大量消耗系统资源。严重时导致整个系统运行缓慢。在这种情况下,对数据库做相关的下列操作。1如果是CPU/Memory紧张,用glance/topas检查top process 消耗时间

4、1分钟如果alert_sid.log文件有出错信息,找出问题关键的session id/ OS process id 消耗时间1分钟如没有OS/DB出错信息,使用脚本检查两阶段事务和lock handle事务。然后使用event 10046/10053采集sql plan 消耗时间5分钟使用statspack来收集数据库性能报告, 如果系统性能极低,。Snap间隔5分钟。然后做hanganalyze dump,间隔90秒。消耗时间10分钟2(3a)如果top process不是数据库服务器进程,立即kill -9 ospid (如果是oracle应用进程则在执行kill -9前先做收集proc

5、essstate dump信息)消耗时间2分钟(3b)如session id没有指向数据库服务器进程,收集processstate dump信息然后立即用kill session命令关闭这个数据会话 消耗时间2分钟(3c)删除pending两阶段事务和lock handle事务。收集processstate dump信息然后用kill session命令关闭这个数据会话 消耗时间2分钟3观察业务情况,如没有解决则重复step2,34如果问题长时间未能排除,建议重新启动数据库5收集trace文件6生成RDA报告和STATSPACK报告7使用OSW收集CPU/Memory信息,oracle ale

6、rt文件 2分钟1. 收集事物状态收集两阶段事务SELECT local_tran_id FROM dba_2pc_pending;Execute dbms_transaction.purge_lost_db_entry('<LOCAL_TRAN_ID>'); Commit;收集某个进程的信息10046主要是对应在数据库使用基于规则模式下的统计信息,10053主要对应数据库使用基于成本优化模式下的统计信息。Event 10046:Sql> oradebug setospid pidSql> oradebug unlimitSql> oradebug

7、 event 10046 trace name context forever,level 12sql> oradebug event 10046 trace name context offEvent 10053:Sql> oradebug setospid pidSql> oradebug unlimitSql> oradebug event 10053 trace name context forever,level 12sql> oradebug event 10053 trace name context off2. 收集PROCESS DUMPSql&

8、gt; oradebug setospid ospidSql> oradebug unlimitSql> oradebug dump processstate 33. 收集RDA报告$./rda.sh -v4. 收集STATSPACK报告?/rdbms/admin/spreport数据库挂起在日常工作中,可能由于多种原因导致数据库挂起,整个系统无法进行工作。所有事务都处于等待状态。在这种情况下,请按照下列步骤对数据库进行信息收集。1) 做hanganalyze dumpSql> oradebug setmypid;Sql> oradebug unlimit;Sql>

9、; oradebug dump hanganalyze 3;Sql> !sleep 300Sql> oradebug dump hanganalyze 3;2) 做system dumpSql> oradebug setmypid;Sql> oradebug unlimit;Sql> oradebug dump systemstate 10Sql> !sleep 900Sql> oradebug dump systemstate 10Sql> !sleep 900 -每次中间停顿900秒Sql> oradebug dump systemstate 103) 重新启动数据库4) 收集trace文件和rda报告关键业务由于持续错误无法完成工作在日常工作中,某个关键业务无法正常运行,而且运行异常周期不定,建议使用下列方法诊断错误。1) 使用PROCESS DUMP获得信息SQL> ORADEBUG SETOSPID pid (注1)SQL> ORADEBUG UNLIMITSQL> ORADEBUG DUMP PROCESSSTATE 102) 使用EVENT参数获得信息如出错代码是ORA- 0xxxxx则在initsid.ora文件中加入Event = “ 0xxxx trace name c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论