问题描述: 数据库有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.   

    select * from (select n.*, rownum num from nc_mode n where rownum<20000) where num>9999
      

  4.   

    Once you receive the "ORA-03123: operation would block" message, the database connection is actually broken. Any further action will result in "ORA-03127: no new operation allowed until active operation ends" error. The only thing you can do at this point is to reconnect. Sometimes Discoverer will allow you to close the current workbook. If it asks you if you want to save the current changes, click "no". Close Discoverer and reconnect. If you can't close Discoverer through this method, you may have to either re-boot or, using Windows Task Manager, do an "End Task" on Discoverer.