I thought it was on an instance basis, not a session basis. However, there seems to be some ambiguity in the documentation. (http://otn.oracle.com/docs/products/...block.htm#2922)


A single sort allocates its own temporary segment, in the temporary tablespace of the user issuing the statement, and then returns the extents to the tablespace.

Multiple sorts, however, can use sort segments in a temporary tablespace designated exclusively for sorts. These sort segments are allocated only once for the instance, and they are not returned after the sort but remain available for other multiple sorts.


That being said, I think your idea is closer than his.