« V$TEMPSEG_USAGE与Oracle排序 | Blog首页 | v$tempfile与v$sort_usage之关系解析 »
LOB对象与临时段
作者:eygle |【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】链接:http://www.eygle.com/archives/2006/03/lob_and_temporary_tablespace.html
刚刚和DCBA聊到他们刚刚遇到的一个问题:LOB对象与临时表空间的关系.
如果程序中使用了临时的LOB类型变量,Oracle会分配临时空间,如果并发很高,初始区很大,那么数据库可能产生严重的TEMP表空间的不足问题.
可以通过测试轻易再现这种状况,在多个Session中执行如下代码:
declare |
查询v$sort_usage视图,我们可以获得如下信息:
SQL> select s.username, s.sid, u.tablespace, u.contents, u.segtype, USERNAME SID TABLESPACE CONTENTS SEGTYPE MB SQL> |
Metalink Note:228479.1 称这并非一个Bug:
To workaround the problem, disconnect the database user session.
This behaviour does not reproduce in Oracle10, but is not a bug.
9i中临时表空间的定义为:
SQL> select BLOCK_SIZE,INITIAL_EXTENT,NEXT_EXTENT,EXTENT_MANAGEMENT,ALLOCATION_TYPE BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT EXTENT_MAN ALLOCATIO |
在Oracle8i中情况有所不同.
Oracle会分配多个段,在Oracle8i中执行如下代码:
SQL> declare |
会看到如下结果:
SQL> select user,SEGTYPE,CONTENTS,blocks from v$sort_usage; USER SEGTYPE CONTENTS BLOCKS |
本测试中Oracle8i中临时表空间定义为:
SQL> select INITIAL_EXTENT,NEXT_EXTENT,EXTENT_MANAGEMENT,ALLOCATION_TYPE INITIAL_EXTENT NEXT_EXTENT EXTENT_MAN ALLOCATIO |
By eygle on 2006-03-25 15:34 | Comments (0) | Posted to Internal | Edit |Pageviews:
Listed below are links to weblogs that reference LOB对象与临时段:
» v$tempfile与v$sort_usage之关系解析 from Friends Life and Oracle
在前面的V$TEMPSEG_USAGE与Oracle排序中我谈到V$TEMPSEG_USAGE和V$SORT_USAGE同源,其中的SEGFILE#代表的是绝对文件号(AFN). [Read More]
Tracked on September 6, 2006 6:51 PM
