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 the DBMS_SHARED_ POOL package to pin large packages, reduce your use of shared memory, or increase the amount of available shared memory by increasing the value of the initialization parameters SHARED_POOL_RESERVED_SIZE and SHARED_ POOL_SIZE. If the large pool is out of memory, increase the initialization parameter LARGE_POOL_SIZE. 

解决方案 »

  1.   

    关于4031的问题, 与share_pool_size的大小不是很相关, 是你的存储过程或sql的问题. 
    如果是8i, 打patch或设置init.ora中的一个有关cursor的参数(我忘了).
    但是解决问题的关键还是变量绑定的问题.
      

  2.   

    我是9I。而且是共享服务器模式,我在INIT。ORA设置了share_pool_size和large_pool_size的大小。存储过程也是很简单的存储过程,是不是出现了死循环,出现了不释放内存的情况。能否具体说明?