众所周知Oracle临时表空间主要是用于数据库较大的临时排序用,在PGA分配的工作区空间不足以容纳排序数据时使用临时表空间。在用户执行的排序相关的语句执行完毕后临时段回收,相应的临时空间占用也会自动释放。但针对LOB所产生的临时段的释放不会遵从些机制。

使用率过高带来的影响

临时表空间使用率过高带来的影响:

由于一般业务中都会存在大量排序的sql(如distinct、order by、group by、union、union all、hash join等),所以一旦临时表空间长时间使用率过高将导致核心sql因ORA-1652错误而终止,最终导致业务处理失败,如果是核心业务那么这个影响是巨大的。

遇到的问题

某核心OLTP生产系统最近发现临时表空间占用高达90%多,且持续监控发现一直不释放,而且还在缓慢增长

- 阅读剩余部分 -