temp表空间的使用和其他数据表空间有着完全不同的原则。一般当排序发生时,会分配一个temp segment,当排序操作完成后,这个segment的空间不会回收,而且将segment中相应的extent标记为FREE,意思是这些segment在之后的操作中可以被重用。
那么temp segment中extent的管理,是通过一个内存组件SEP(Sort Extent Pool)来完成。这部分内存在SGA进行分配。
那么和其他共享内存结构一样,访问SEP也是需要一个latch的。这个latch就是Sort Extent Pool Latch.
SQL> select * from v$latchname where name like 'sort%'; LATCH# NAME ---------- ------------------------ 138 sort extent pool SQL> select addr,latch#,name,gets,misses,sleeps from v$latch 2 where latch#=138; ADDR LATCH# -------- ---------- NAME GETS ---------------------------------------------------------------- ---------- MISSES SLEEPS ---------- ---------- 0221C600 138 sort extent pool 1568 0 0 |

