Oracle ora-07445 和 最大session数目

Posted on 2010-06-13 15:08  blackcat  阅读(3436)  评论(0编辑  收藏  举报

  前线一个项目应急,说是应用挂起了,数据库也登陆不上去了。让我救急。

  于是找到前线的兄弟,QQ远程上去(真土是不?可惜没别的招),获得系统信息如下:

  OS:Windows Server 2003 Version V5.2 Service Pack 2

  Oracle:10.1.0.2.0

 

  OS的内存是8GB的,但是是个32位的系统。这个真悲剧。

  Oracle的版本居然是个10.1.0.2的,要命,这居然是准备生产环境用的。

  Oracle的内存配置,

  

内存配置
  sga_max_size             = 1577058304
  __shared_pool_size       
= 528482304
  shared_pool_size         
= 528482304
  __large_pool_size        
= 109051904
  large_pool_size          
= 109051904
  __java_pool_size         
= 50331648
  java_pool_size           
= 50331648
  sga_target               
= 1367343104

  

  看了看,使用了大概1.7GB内存。其中PGA大概500M。

   

  前线同志说连不上去,但是我没发现这个问题,应该是一段时间后,oracle自动清理了一些死链接吧。不得不说,这个应用做的,真是差,后来知道,他们居然不控制连接数目,还是用的java的连接池,都不确定连接池中连接什么时候释放。这些都是注定要杯具的原因。

 

  不管那么多,先看看oracle的alert吧,打开,居然最开始的信息被哪个杀千刀的给清除了,只剩下出问题的日志了。

  主要信息由以下几组:

  1,ORA-07445

Thu Jun 10 19:24:19 2010
Errors 
in file c:\oracle\product\10.1.0\admin\orcl\bdump\orcl_mmon_3940.trc:
ORA
-07445: exception encountered: core dump [ACCESS_VIOLATION] [0x122A20B] [] [] [] []

  2,ORA-04030

ORA-04030
Thu Jun 10 14:00:05 2010
Errors 
in file c:\oracle\product\10.1.0\admin\orcl\bdump\orcl_j000_2884.trc:
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)
ORA
-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba)
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)

  3,这个居然让oracle直接崩溃退出了。

job
Thu Jun 10 14:00:07 2010
Errors 
in file c:\oracle\product\10.1.0\admin\orcl\bdump\orcl_j000_2884.trc:
ORA
-12012: error on auto execute of job 1
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)
ORA
-06512: at "WKSYS.WK_ERR", line 10
ORA
-06512: at "WKSYS.WK_ERR", line 53
ORA
-06512: at "WKSYS.WK_ERR", line 71
ORA
-06512: at "WKSYS.WK_ERR", line 105
ORA
-06512: at "WKSYS.WK_JOB", line 210
ORA
-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba)
ORA
-06512: at "WKSYS.WK_JOB", line 444
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)
ORA
-04030: out of process memory when trying to allocate 680032 bytes (joxp heap,u:CTX_SEG)
ORA
-06512: at line 1

  

  看到第一个7455,我就怕了。这个玩意儿好久不见,又重出江湖了。出现在了哥的江湖。

  第一个问题。

  先仔细研究了下,所有的报错都是和MMON有关系。这个应该是ASSM的bug。既然是ASSM,我的参数设置差不多了,我就先不管了,看看你有什么问题。

  第二个问题,也是内存相关问题,大不了就是任务失败,先略过。

  再看第三个问题。

  同样,一直没注意,从没见过这么一个任务。居然让oracle崩溃了。

  开始我以为是产品代码,后来查了下,居然,是oracle自带的。具体干嘛的也没管他。

  想想oracle有个自动分析的任务,10g之后自动运行的,先停了。不理他了。

  

  然后开始解决应用挂起的问题。

  

Copyright © 2024 blackcat
Powered by .NET 8.0 on Kubernetes