公司核心生产数据库一个星期宕机了4次,现在暂时的解决方法是重起数据库的操作系统INSTANCE服务,重起监听器服务,能暂时使用,
请问从下面的数据库的宕机现象信息,怎么找出数据库宕机原因呀?操作系统日志事件详细信息:
日期: 2012-9-15
来源: Oracle.prd
时间: 16:41:42
类别: 无
类型: 错误
事件ID:
用户: N/A
计算机:SERVER2
描述: Unable to begin another thread.
ALERT.LOG显示下面几条信息:
Sat Sep 15 16:41:30 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
Sat Sep 15 16:41:42 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
Sat Sep 15 17:11:38 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
ORACLE是专用服务器模式以SYS用户SQLPLUS登录报 ORA-12500: TNS:监听器未能启动专用的服务器进程
listener.log的有很多这样的错误信息:
15-9月 -2012 17:50:50 * (CONNECT_DATA=(SERVICE_NAME=prd)(CID=(PROGRAM=c:\forte\install\bin\ftexec.exe)(HOST=FORTE)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=202.96.*.*)(PORT=4526)) * establish * prd * 12500
TNS-12500: TNS:监听器未能启动专用的服务器进程
TNS-12560: TNS: 协议适配器错误
  TNS-00530: 协议适配器错误
   32-bit Windows Error: 233: Unknown error
操作系统: Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2
CPU: Intel(R) Xeon(R) CPU E7430 @ 2.13GHz 2.13GHz
内存: 16GOracle9i版本: 9.2.0.8

解决方案 »

  1.   

    系统资源限制。
    看看是不是oracle资源给大了。或者是建系统用户的时候 给用户的资源有限制。
      

  2.   

    alert日志中没有600错误,只有几条这样的信息
    Sat Sep 15 16:41:30 2012
    skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
    skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
      

  3.   

    通过B/S架构的前台应用程序,发生宕机后一天,我监控到最高的session数有555个
      

  4.   

    SQL> show sga;Total System Global Area 1.1822E+10 bytes
    Fixed Size                   456176 bytes
    Variable Size            1082130432 bytes
    Database Buffers         1.0737E+10 bytes
    Redo Buffers                2240512 bytes
    SQL> show parameter pga;NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    pga_aggregate_target                 big integer 536870912
      

  5.   

    操作系统: Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2
      

  6.   

    pga调整到3到4g
    sga调整到7g左右
    继续观察   注意收集sp信息
      

  7.   

    顶一个
    怀疑是由于内存资源不足,无法创建新的线程。
    建议:
    1.检查应用是否存在数据库连接泄漏的问题,致使数据库连接数不断增加而消耗完内存。
    2.如11楼所说,减小SGA,腾出足够的内存。
    3.设置参数PROCESSES=600,避免连接数超出系统能力。
      

  8.   

    我以前碰到 服务器没有内存的时候 报的错是  无法建立新的连接。   
    你为啥alert日志内容那么少呢。。
      

  9.   

    是的ALERT.LOG就几条信息,这几条信息就是在宕机那个时间段产生的,其它的日志信息都是联机重做日志归档的信息。
      

  10.   

    悲催,我没METALINK的帐号、、、
      

  11.   

    OS:win 2003 64位, DB:9i 32位  需要更多的配置信息
    由于你的环境比较特殊,分为2中情况考虑:
    第一:32位的数据库运行在64bit数据库上的内存使用是否能超过1.7g的限制?先降低SGA的内存,提供更多的内存给主机OS使用,看看是否还会正常DOWN机第二:其次,硬盘空间是否足够,虚拟内存是否够用,监控系统资源使用情况,包括硬盘使用情况,网络使用情况,内存使用情况,进而定位信息,尤其注意C盘空间是否足够,如果太小,则无法进行虚拟内存的交换,导致无法创建oracle进程,大量连接就报错!