看字面是说内存的问题,就是说不能申请4200的SHARED MEMORY,需要你重新设置大小。但是,我想最大可能是数据库(TABLESPACE)满了,你检查一下吧。

解决方案 »

  1.   

    ORA-00604 error occurred at recursive SQL level stringCause: An error occurred while processing a recursive SQL statement (a statement applying to internal dictionary tables).Action: If the situation described in the next error on the stack can be corrected, do so; otherwise contact Oracle Customer Support.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. 
      

  2.   

    别着急看数据库参数,首先把你的sql语句贴出来看看。
      

  3.   

    试试alter system flush shared_pool;
    修改init.ora参数:shared_pool_size的值