ora-00604:递归 SQL 级别1出现错误
ora-04031:无法分配16字节的共享内存("shared pool",""select obj#,type#,ctime,mtim,...","sql area","kglhin: temp")版本:oracle10g
4G内存平台是产品底层数据库操作看不到,只能修改数据库端,不能修改代码。
出现原因是有程序会不停地循连接数据库。大家帮我看看我修改什么参数,能解决,谢谢了。快上线了,疯了。

解决方案 »

  1.   

    找到这么一个,希望对你有帮助http://hi.baidu.com/haneya/blog/item/0da64f0625ee9a7003088151.html
    ------解决方法--------------------------------------------------------
    算是oracle的一个bug,你增加share_pool_size也没用 看你的shared pool miscellaneous 17944740值过大。 可以尝试在init <sid>.ora文件里面增加 _db_handles_cached = 0 然后重新启动instance 
      

  2.   

    我加了_db_handles_cached = 0了,还要问一下我有2个init.ora,
    一个是在D:\oracle\product\10.2.0\db_1\srvm\admin下
    我改的是这个
    一个是在D:\oracle\product\10.2.0\admin\mes\scripts下
    mes是我的数据库名
    这个我没改
      

  3.   

    操作系统是什么的32bit还是64bit的?windows 还是linux?
      

  4.   

    还有你设置的SGA大小是多少?
      

  5.   

    系统是windows 2003,32位的
    shared_pool_size = 157286400 (150M)
      

  6.   

    系统是windows 2003,32位的
    shared_pool_size = 157286400 (150M)
      

  7.   

    32位机的sga不能大于1.6个G,高于这个就玩不转了。建议把你的服务器升级到64bit
    不过32bit 可以通过特殊window的设置,增加这个sga.
      

  8.   

    SGA + PGA < 1.7G,不过实际上(SGA+PGA)(1+10%) <1.7G才可行