我执行如下sql时出现ORA-03113: end-of-file on communication channel 错误,不知是何原因,我的数据库是10G的select decode(a.deptid,null,b.deptid,a.deptid) as deptid,a.typecount,b.deptname as deptname 
from 

       select t.dept as deptid,count(*) as typecount from warn_info t 
       where  (TO_DATE(t.occur_date,'YYYY/MM/DD') between TO_DATE('2007/12/10','YYYY/MM/DD') and TO_DATE('2007/12/16','YYYY/MM/DD')) 
       and (t.type in (select s.name from warn_dfk_type s where s.CASE_TYPE='KEFANG')) 
       and (t.dept like '330282%') group by t.dept  
 )  a FULL OUTER JOIN 
 ( select t.deptid,t.deptname from warn_dept t where t.deptid like '330282%' ) 
 b on (a.deptid = b.deptid) 

解决方案 »

  1.   

    ORA-03113:   end-of-file   on   communication   channel 
    的错误,不是你的SQL造成的。嗬嗬,是系统的问题,
    造成的原因太多。
    比如,有人在重起服务器,你和服务器之间的网络断掉了。等等。
    你可以去查看一下系统日至,可以知道具体原因的。
      

  2.   

    我在执行如下简单全连接时可以执行,上面的却会报错select *
    from 

        select * from warn_info t where t.dept like '330282%'
     )  a FULL OUTER JOIN 
     ( select * from warn_dept t where t.deptid like '330282%' ) 
     b on (a.dept = b.deptid) 
      

  3.   

    啊?那你只有先去看一下trace里面有什么具体的信息,是什么具体的原因。这个错误的原因很多的。