|
原帖由 Yong Huang 于 2009-9-11 02:42 发表 ![]()
That makes sense. But if the initial temp segment is already created and you keep inserting one row at a time into the simplest GTT (e.g. one that only has one single column of type number), "undo change vector size" still goes up. V$sort_usage doesn't say the temporary segment is using more and more blocks (mine stays at 256). But at this time, my v$transaction.used_urec increments by 1 every time I insert a row into my GTT.
So I don't think it's extent being extended. Got to be something. There're some undo related events (10221 for exampel). When I have time, I'll take a look at it.
Yong Huang
I have some procedures will use temp table and return refcursor:
OPEN O_REF FOR SELECT * FROM TMP_table
DELETE FROM tmp_table ;
COMMIT;
I can fetch data from O_REF, I believe it will read the data from undo.
What I think is undo for temp segment should be necessary because an transaction need to rollback if it fails.
[ 本帖最后由 dhhb 于 2009-9-11 16:30 编辑 ] |
|