不是j2ee的问题吧,我怎么觉的象数据库的事,是不是跟你的SQL有关呀

解决方案 »

  1.   

    应该是数据库服务器的share pool空间不够了,增加数据库启动文件init.ora中的share pool size参数就可以了。
      

  2.   

    鄙人认为是你数据库的sql缓冲区满了!而且一般缓冲区都是足够用的!我认识肯定是你的sql语句写的! 例如 一条查询语句 如果完全相同的话!执行一次后!会放在sql缓冲区里!下次再执行的话!就直接命中目标! 所以如果你的语句select * from table where 条件 , 如果使用动态参数传递,尤其是使用动态游标的话!如果不注意!执行某查询 根据条件的传入参数不同,会在缓冲区形成大量的缓存 , 造成oracle 中著名的ORA-04031错误逸出! 如一天语句 select * from table a where a.name= '1' 是一条.
    select * from table a where a.name= '2'
    select * from table a where a.name= '3'
    select * from table a where a.name= '4' 
    select * from table a where a.name= 'n' 这样一条简单的语句重复n次 ! 看你不益处都难啊!
    还是找个oracle高手帮你解决吧!
      

  3.   

    多大回事啊?我还以为要抢鸡蛋了呢?!^_^顺便说说,我用hibernate,不用cmp
      

  4.   

    ORACLE DRIVER VERSION ERROR!
      

  5.   

    这个问题我也遇到过,是你的数据库连接太多,没有关闭!你可以用Oracle自己的工具检查一下连接数.关闭没用的连接,重启数据库.然后仔细的检查自己的程序,每个调用数据库的地方是不是都在用完之后正确的关闭了!