你确定是sql的问题?导致ora-03113 错误的因素多的要命!
先不要那么早下断言,看看出错的数据库中
alertSID.log 里面有什么信息。贴上来!

解决方案 »

  1.   

    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.  
    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. 
      

  2.   

    确实是函数索引引起的问题,我用的是oracle8.17
      

  3.   

    我记得如果是plsql引起的ora-03113错误,你只能去避免,
      

  4.   

    看了帖子,才知道有索引函数^_^,我在oracle 9上按楼主的需求,建了,很正常。没出现错误!
      

  5.   

    打个oracle8.174的补丁,再看看行不行!
      

  6.   

    不能去掉啊,因为这两个索引在where条件后经常用啊
      

  7.   

    1. Need to check which Optimizer is being used.      
       Rule-based optimization never uses function-based indexes. 
    2. Check, whether all required tables are analyzed for gathering statistics for the optimizer, otherwise the indexes cannot be used to process sql statements. 
    3. If the status of the function based index is disabled, the index will be disabled by any changes to the function specification.        
      SQL> select index_name,index_type,status from user_indexes where index_name='<index_name>';     
    INDEX_NAME      INDEX_TYPE                  STATUS    
    --------------- --------------------------- --------    
    FB_X            FUNCTION-BASED NORMAL       VALID  
    4. For optimizer to choose the function-based index, the following     
    session/init.ora variables need to be set.     
    QUERY_REWRITE_ENABLED = TRUE    
    QUERY_REWRITE_INTEGRITY = TRUSTED        
    for example:    
    ~~~~~~~~~~~~    
    SQL> ALTER SESSION SET query_rewrite_enabled=true;    
    SQL> ALTER SESSION SET query_rewrite_integrity=trusted;If all the above is set properly, then you might be hitting the following bug:  [BUG:902521] FUNCTION BASED INDEX ON TRUNC(DATECOLUMN) IS NEVER USED 
    [BUG:933439] Functional bitmap indexes on BITAND / DATE do not work properly
      

  8.   

    难道在ORACLE8.17里使用CBO优化器函数索引和普通索引不能同时使用么,还是参数设置的问题啊???
      

  9.   

    试试这两种方法
    1、不建函数索引,对items_date建索引,然后使用
         items_date >= to_date( '2004-11-17 00:00:00' , 'yyyy-mm-dd hh24:mi:ss' )  and 
         items_date <= to_date( '2004-11-17 23:59:59' , 'yyyy-mm-dd hh24:mi:ss' ) 来查询
    2、对items_data 建to_char( items_date , 'yyyy-mm-dd' ) 的索引,
    使用 to_char( items_date ,  'yyyy-mm-dd' ) = '2004-11-17' 来查询
    还有就是 "我建了一个trunc(items_date)的函数索引,items_operator_no列上也建了一个索引"
    对同一个表查询时,不会同时用到两个索引的,所以你的程序要么用到items_operator_no的索引,
    要么用到trunc(items_date)的函数索引
      

  10.   

    新建了一个ORACLE OR JAVA群4926814,希望大家支持一下