我有两张表table1,和table2,a是table1中的一个字段,a是table2中的一个字段。
select * from table1,table2 where bitand(a,100) = b*10 这个语句执行时,报ora-03113 通信通道文件结束。把语句改成select * from table1,table2  where  b*10 = bitand(a,100)就可以了,为什么bitand要放在等号后面?

解决方案 »

  1.   

    The   cause   can   be   1.   Oracle   Server   Errors   
    If   the   failure   occurs   after   a   connection   is   established,   a   likely   cause   is   a   database   server   error.   For   example   in   my   personal   experiences   all   versions   of   Oracle   server   before   8.1.6   are   pretty   unstable   under   Windows   NT   4.0   with   Service   Pack   6.0   and   frequent   internal   errors   cause   the   server   to   discontinue   its   operation.   In   such   cases   one   should   see   the   alert   log   and   will   usually   have   to   refer   to   Oracle   Support.   In   the   case   mentioned   above   you   should   downgrade   to   Service   Pack   5.   
    2.   Net8   Server   (Listener)   Errors   
    This   is   when   the   listener   fails   to   respond   to   Net8   client.   The   causes   for   such   a   failure   are   numerous.   Lack   of   memory   on   the   server   machine   where   the   listener   resides,   or   problems   with   the   host   operating   system   can   cause   the   listener   to   fail.   To   make   sure   that   the   listener   is   working   correctly   one   may   use   the   Listener   Control   Utility   (LSNRCTL.)   More   about   Net8   server   here   www.orafaq.com/faqnet.htm   One   may   also   restart   listener   using   the   host   operating   system   facilities   LSNRCTL   or   to   recover   from   temporary   errors.   
    3.   The   Network   Connection   Failure   
    This   is   when   the   network   connection   through   the   network   protocol   is   no   longer   available.   For   example   when   using   the   TCP,   a   TCP/IP   route   must   be   available   between   the   client   machine   and   the   server.   This   may   be   tested   using   the   ping   utility.   There   are   also   situations   when   a   specified   protocol   is   disabled   for   a   machine,   say   when   conflicting   IP   addresses   occur   or   a   router   device   or   software   fails.   In   such   cases   it   may   be   possible   to   reach   the   listener   through   other   protocols   like   Named   Pipes.   In   such   cases   you   should   call   for   the   network   administrator   to   fix   the   problem   or   you   can   change   the   protocol   in   use.   To   change   the   protocol,   change   the   protocol   entry   and   the   parameters   for   the   connection   string   in   use,   in   TNSNAMES.ORA   or   for   the   method   in   use   (Oracle   Names   or   external   naming   services.)   Say   in   the   TNSNAMES.ORA   one   may   start   using   conn_nmp   (Named   Pipes)   after   conn_tcp   fails.   More   info   on   this   here.   However   bear   in   mind   that   in   this   case   the   listener   must   support   NMP   too   for   a   connection   to   be   established.   To   have   listener   support   a   new   protocol   one   may   use   Net8   Assistant,   LSNRCTL   or   edit   listener.ora   manually   and   restart   the   listener   using   the   host   operating   system   facilities.   
    4.   Defunct   processes   are   still   running   
    Check   to   see   that   there   are   no   defunct   processes   running:   
    ps   -ef   |   grep   oracle   
    Since   you   are   doing   a   startup,   you   can   kill   those   defunct   processed   from   the   prompt   (kill   -12   ...)   and   then   try   to   a   startup.--
    ORA-03113   end-of-file   on   communication   channel Cause:   An   unexpected   end-of-file   was   processed   on   the   communication   channel.   The   problem   could   not   be   handled   by   the   Net8,   two   task,   software.   This   message   could   occur   if   the   shadow   two-task   process   associated   with   a   Net8   connect   has   terminated   abnormally,   or   if   there   is   a   physical   failure   of   the   interprocess   communication   vehicle,   that   is,   the   network   or   server   machine   went   down.   In   addition,   this   message   could   occur   when   ALTER   SYSTEM   KILL   SESSION   or   ALTER   SYSTEM   DISCONNECT   SESSION   were   issued   with   the   IMMEDIATE   qualifier   because,   in   those   cases,   the   client 's   connection   to   the   database   is   terminated   without   waiting   for   the   client   to   issue   a   request. Action:   If   this   message   occurs   during   a   connection   attempt,   check   the   setup   files   for   the   appropriate   Net8   driver   and   confirm   Net8   software   is   correctly   installed   on   the   server.   If   the   message   occurs   after   a   connection   is   well   established,   and   the   error   is   not   due   to   a   physical   failure,   check   if   a   trace   file   was   generated   on   the   server   at   failure   time.   Existence   of   a   trace   file   may   suggest   an   Oracle   internal   error   that   requires   the   assistance   of   customer   support.