问题描述: 数据库有100万条记录,六个字段,导出的数据文件为68M;oracle版本:9i
select * from nc_mode where rownum<20000 minus select * from nc_mode where rownum<10000
这个语句按道理是不会有限制的(我后来还把init.ora更改了很多以最大方式运行,如:shared_pool_size = 800M);但执行会报如下错误:ORA-03123:操作将被锁定 ----最先报这个错误
ORA-03113:通信通道的文件结束 
ORA-03114:未连接到ORACLE 而且minus后边的条件值改为某些值也会出错,比如我遇到的:3000,5000等;
反而改小些不会出错:比如:10,30,100----500等;
仔细想了下,没明白,如果说限制数据行数大小,那当减去10行的查询数据记录数更多啊,这个问题
我请教了几个高手,都没解决这个问题;所以诚恳请高手指点指点为谢!

解决方案 »

  1.   

    ps:不知道还有哪些设置可解决这个问题??我本人接触oracle不久,请高手指点......
      

  2.   

    PS:还有一个错误码:ORA-03127:在活动操作结束之前不允许进行新的操作
      

  3.   

    03123, 00000, "operation would block"
    // *Cause: This is a status code that indicates that the operation
    // cannot complete now.
    // *Action: None; this is not an error. The operation should be retried
    // again for completion.
    看来太忙了,调大pga_aggregate_target再试试.
    实在不行,用分析函数row_number()来做效率要高.