ORA-01690: sort area size too small
Cause: sort area size too small to fit two records in memory
Action: increase sort_area_size
ORA-01690: sort area size too small 错误消息指出排序空间大小太小,尝试在数据库中分配的排序区域太小,数据库需要的排序需求超出了排序空间,从而导致无法完成。
Oracle官方解释:
该ORA-01690错误表明尝试在数据库中分配的排序区域太小,数据库需要的排序需求超出了排序空间,从而导致无法完成。
ORA-01690错误最常见的案例是在执行排序任务时,数据量超过了排序区域内可分配内存大小,从而导致失败。
1. 通过调整排序区域大小,建议排序区域大小为至少10 MB。
2. 也可以用hints将排序操作移到内存中,例如,通过在语句中放入/*+ ORDERED */,可以将排序移到内存中。
3. 可以尝试在临时表空间『b.tmp』中改善查询效率,如果该表空间空间不足,也会引发ORA-01690错误。
4. 如果ORA-01690错误持续发生,可以尝试使用Oracle的Parallel Query(PQ)和Parallel DDL(PDD)功能,以同时处理多个查询。