当前位置:  数据库>oracle

ORA-04031导致数据库宕机问题分析

    来源: 互联网  发布时间:2017-06-06

    本文导语: 背景介绍 2014/6/5接渠道反馈,用户数据库意外宕机,后经过重启服务器Oracle数据库恢复正常,用户希望能够排查原因,避免再次出现宕机事故,这种意外宕机原因排查是我们远程处理经常遇到的案例,虽然宕机的原因有很多,...

背景介绍
 
2014/6/5接渠道反馈,用户数据库意外宕机,后经过重启服务器Oracle数据库恢复正常,用户希望能够排查原因,避免再次出现宕机事故,这种意外宕机原因排查是我们远程处理经常遇到的案例,虽然宕机的原因有很多,但是排查的步骤基本一致,都一个固定的套路,接下来就介绍下如何一步步定位问题。
 
分析步骤
 
步骤一.查询alert日志,查找错误信息
 
本案例这种情况,是属于事后分析,这种分析的方法只有一个,就是查看日志,如果是操作系统,就要查看操作系统的日志,是数据库自然就要查看数据库的日志。我们知道数据库有很多日志,但是最关键的日志就是alert日志,如果是RAC环境可能会涉及到CRS的日志,这里是单机环境,我们就只需要关注alert日志就可以,alert日志的路径和日志名称就不用太多介绍,作为DBA这点常识还是应该有,拿到alert日志首先就是查看数据库宕机时间段前后有什么异常记录,如下本案例在宕机前有如下错误提示信息:
 
Errors infile d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc:
 
ORA-00604:递归SQL 级别 1出现错误
 
ORA-04031:无法分配32 字节的共享内存("shared pool","select job, nvl2(last_date, ...","sqlarea","tmp")
 
 
 
Wed Jun04 18:59:17 2014
 
Errors infile d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc:
 
ORA-00604:递归SQL 级别 1出现错误
 
ORA-04031:无法分配32 字节的共享内存("shared pool","select count(*) from sys.job...","sqlarea","tmp")
 
 
 
Wed Jun04 18:59:22 2014
 
Errors infile d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc:
 
ORA-00604:递归SQL 级别 1出现错误
 
ORA-04031:无法分配32 字节的共享内存("shared pool","select job, nvl2(last_date, ...","sqlarea","tmp")
 
 
 
Wed Jun04 18:59:22 2014
 
Errors infile d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc:
 
ORA-00604:递归SQL 级别 1出现错误
 
ORA-04031:无法分配32 字节的共享内存("shared pool","select count(*) from sys.job...","sqlarea","tmp")
 
 
 
Wed Jun04 18:59:27 2014
 
Errors infile d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc:
 
ORA-00604:递归SQL 级别 1出现错误
 
ORA-04031:无法分配32 字节的共享内存("shared pool","select job, nvl2(last_date, ...","sqlarea","tmp")
 
      通过日志信息,可以初步定位到这次故障的起因是ora-00604和ora-04031引起,为了进一步准确定位,我们应该查看提示中的子跟踪文件,如上面的d:oracleproduct10.2.0adminoraxybdumporaxy_cjq0_4340.trc,这里面肯定包含了更多详细的信息。

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2
 
步骤二.查看跟踪日志,查找更详细的信息
 
跟踪日志这个查看就需要一些经验和对问题的敏感度定位错误了,根据跟踪对对象的不同,其日志内容格式也不同,如下是我们这次跟踪的关键信息:
 
SO:000007FF493D38A0, type: 4, owner: 000007FF49005208, flag: INIT/-/-/0x00
 
  (session) sid: 543 trans: 0000000000000000,creator: 000007FF49005208, flag: (51) USR/- BSY/-/-/-/-/-
 
            DID: 0001-0016-00000003, short-termDID: 0000-0000-00000000
 
            txn branch: 0000000000000000
 
            oct: 0, prv: 0, sql:0000000000000000, psql: 0000000000000000, user: 0/SYS
 
  last wait for 'SGA: allocation forcing component growth' blocking sess=0x0000000000000000 seq=30782wait_time=15629 seconds since wait started=0
 
          =0, =0, =0
 
  Dumping Session Wait History
 
  for 'SGA: allocation forcing component growth'count=1 wait_time=15629
 
          =0, =0, =0
 
  for 'SGA: allocation forcing componentgrowth' count=1 wait_time=15006
 
          =0, =0, =0
 
  for 'latch: shared pool'count=1 wait_time=624
 
          address=c96aed8, number=d6, tries=1
 
  for 'latch: shared pool' count=1wait_time=1214
 
          address=c96aed8, number=d6, tries=0
 
  for 'latch: library cache' count=1wait_time=77
 
          address=324ef0f0, number=d7, tries=0
 
  for 'latch: shared pool' count=1wait_time=1369765
 
          address=c96aed8, number=d6, tries=0
 
  for 'rdbms ipc message' count=1wait_time=5007402
 
          timeout=1f4, =0, =0
 
  for 'rdbms ipc message' count=1wait_time=5006909
 
          timeout=1f4, =0, =0
 
  for 'rdbms ipc message' count=1wait_time=5007270
 
          timeout=1f4, =0, =0
 
  for 'rdbms ipc message' count=1wait_time=5004478
 
          timeout=1f4, =0, =0
 
  temporary object counter: 0
 
----------------------------------------
 
UOL used: 0 locks(used=1, free=4)
 
KGXAtomic Operation Log 000007FF35B23660
 
 Mutex 0000000000000000(0, 0) idn 0 oper NONE
 
 Cursor Parent uid 543 efd 10 whr 4 slp 0
 
 oper=NONE pt1=000007FF2DD5ECA8pt2=000007FF2DD5ED10 pt3=000007FF2DD5F230
 
 pt4=0000000000000000 u41=2 stt=0
 
KGXAtomic Operation Log 000007FF35B236A8
 
 Mutex 000007FF2A744D18(0, 12) idn 0 oper NONE
 
 Cursor Stat uid 543 efd 11 whr 2 slp 0
 
 oper=NONE pt1=000007FF2A744BE8pt2=0000000000000000 pt3=0000000000000000
 
 pt4=0000000000000000 u41=0 stt=0
 
KGXAtomic Operation Log 000007FF35B236F0
 
 Mutex 0000000000000000(0, 0) idn 0 oper NONE
 
 Library Cache uid 543 efd 0 whr 0 slp 0

更多详情见请继续阅读下一页的精彩内容:


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 解决报错ora-32035的方法分析
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • 出现ORA-01401和ORA-01008错误?
  • oracle ORA-01114、ORA-27067错误解决方法
  • Oracle不能删除表 ORA-00604 ORA-01422 错误
  • 如何得到带有ora的行的下一行
  • ORA-12514及ORA-28547错误解决方案
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • docker中文入门学习手册 iis7站长之家
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • 我在Linux7。3下面装了一个Oracle8i,但是现在启动不起来了,总是报错ORA-01031: insufficient privileges
  • oracle 11g导出数据时报ORA 1455错误的处理方法
  • zilong28提问:Tomcat3.2报错内容是Error occurs when connecting DB: ORA-00020: maximum number of processes(59) exceeded 我应该如何解决,先谢了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,