数据库运行过程中,突然后台应用无法连接数据库,trc文件如下内容,请求高手指点:
Dump file d:\oracle\product\10.2.0\admin\testdb\bdump\testdb_ckpt_3640.trc
Thu Oct 13 14:13:34 2011
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Windows Server 2003 Version V5.2 Service Pack 2
CPU                 : 2 - type 586, 2 Physical Cores
Process Affinity    : 0x00000000
Memory (Avail/Total): Ph:1312M/4021M, Ph+PgF:3170M/5898M, VA:29M/2047M
Instance name: testdbRedo thread mounted by this instance: 1Oracle process number: 7Windows thread id: 3640, image: ORACLE.EXE (CKPT)
*** 2011-10-13 14:13:34.890
*** SERVICE NAME:(SYS$BACKGROUND) 2011-10-13 14:13:34.875
*** SESSION ID:(550.1) 2011-10-13 14:13:34.875
error 4030 detected in background process
ORA-04030: 在尝试分配 8716 字节 (pga heap,Get krha asynch mem) 时进程内存不足
*** 2011-10-13 14:13:39.921 ssthreadkillsafe: skipping kill of tid=12372 (time out= 5000 ms) because thread has state SHUTTING_DOWN
*** 2011-10-13 14:14:15.765 ssthreadkillsafe: skipping kill of tid=13784 (time out= 5000 ms) because thread has state SHUTTING_DOWN

解决方案 »

  1.   

    ORA-04030: 在尝试分配 8716 字节 (pga heap,Get krha asynch mem) 时进程内存不足
    这个错误的原因比较多,但是从最明显的错误入手,你的内存使用高?会话数多?
    环境是如何的?直接原因:内存太小,
    之前是否良好?如果良好,是否该SQL大量使用内存造成的?
      

  2.   

    sqlplus 登陆数据库
    show sga看一下你的内存分配是多大
      

  3.   

    sga是1G
    pga是300M
    操作系统式32位的2003