增加数据库初始化参数share_pool_size ,large_pool_size和java_pool_size

解决方案 »

  1.   

    什么版本的数据库?
      什么操作系统?  根据实际情况去metalink下载补丁.  还有,检查你的应用,看看有没有不合理的SQL语句
      或者不释放内存的情况.
      

  2.   

    你把java_pool_size设置为64M,再试试
      

  3.   

    windows2000操作系统。需要下什么补丁? 程序上我觉得没有错误。 SQL语句大多数都是非常简单的单表操作的语句。to 无名小虫:
    java_pool_size是做什么用的?  我已经设成64了,还是不行
      

  4.   

    不要随便改 JAVA_POOL_SIZE, 除非你的Oracle 启用了JServer,
     否则用不到JAVA_POOL_SIZE.
     
      LARGE_POOL_SIZE 主要用于RMAN备份恢复,如果不用RMAN,这个值
      也不要自行设置.看你的出错提示似乎是LARGE_POOL_SIZE值比较小.
      
      附录:
        你提的问题的来源是 ORA-04031
      
      ORA-04031: unable to allocate string bytes of shared memory("string","string","string","string")  Cause: More shared memory is needed than was allocated in
             the shared pool.   Action: If the shared pool is out of memory, either use
         theDBMS_SHARED_POOL package to pin large packages, 
         reduce your use ofshared memory, or increase the amount
         of available shared memory byincreasing the value of the 
         initialization parametersSHARED_POOL_RESERVED_SIZE and 
         SHARED_POOL_SIZE. If the largepool is out of memory, 
         increase the initialization parameter LARGE_POOL_SIZE.
       上面贴的是从<<Oracle Error Messages>>PDF文档中摘录出来的.
       有可能是Oracle 的Bug, 打补丁升级到8.1.7.4