目前判断是共享池设置的问题Oracle版本是 9.2.0.1.0 
报告的错误号是 04031 
重新设置了SHARED_POOL_SIZE值是200M但仍然是报告同样的错误
网上找了一通资料,说要修改
SHARED_POOL_RESERVED_SIZE,
SHARED_POOL_RESERVED_MIN_ALLOC.这两个参数但这两个参数不知道在哪改,
用alter system set SHARED_POOL_RESERVED_MIN_ALLOC
修改不了,错误提示说 已放弃的参数然后我也不知道如何查看这个参数的值。还望高手指教,不胜感激。

解决方案 »

  1.   

    直接增大SHARED_POOL_SIZE
    报错应该和你系统的SQL性能有关,比如未使用绑定变量,导致SHARED_POOL_SIZE不断增长。
    alter system set SHARED_POOL_SIZE=nM;根本的解决办法,是尽可能优化SQL,使用绑定变量,避免大量不必要的硬解析。
      

  2.   

    SHARED_POOL_SIZE 已经修改过了,改成了200M
      

  3.   

    我这边有个库,用户不多,但是shared pool达到1G,而buffer_cache不足600M。
    老程序全部未使用绑定变量
      

  4.   

    我的SQL
    也没有绑定变量,是一个大批量的插入语句。
      

  5.   

    考虑调整下cursor_sharing参数。缓解shared pool的爆增。不过可能会引起不可预料的结果,建议你有条件的话,先测试下。