问题描述: 数据库有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行的查询数据记录数更多啊,这个问题
我请教了几个高手,都没解决这个问题;所以诚恳请高手指点指点为谢!
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行的查询数据记录数更多啊,这个问题
我请教了几个高手,都没解决这个问题;所以诚恳请高手指点指点为谢!
// *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()来做效率要高.