如果我们使用的临时表空间是 temoprary 的 , 就会在 v$sort_segment 中显示 , 如果临时表空是 permanent 的话 , 就不会在这个表中进行显示了 . Code: [C" name="description" />
MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果我们使用的临时表空间是temoprary的,就会在v$sort_segment中显示,如果临时表空是permanent的话,就不会在这个表中进行显示了. Code: [Copy to clipboard] SQL> select tablespace_name,extent_size,total_extents,total_blocks from v$sort_segment; TABLESPACE_NAME EXTENT_SIZE TOTAL_EXTENTS TOTAL_BLOCKS ------------------------------- ----------- ------------- ------------ TEMP 128 5999 767872 视图v$sort_usage显示oracle在如何使用和分配临时段的. Code: [Copy to clipboard] SQL> select username,session_addr,sqladdr,sqlhash,segtype, 2 segfile#,segblk#,extents,blocks 3 from v$sort_usage 4 / USERNAME SESSION_ADDR SQLADDR SQLHASH ------------------------------ ---------------- ---------------- ---------- SEGTYPE SEGFILE# SEGBLK# EXTENTS BLOCKS --------- ---------- ---------- ---------- ---------- AICBS C0000000D7EF99E SORT 可以根据session_addr查询v$session得到当前登录用户的session信息, 可以通过sqladdr和sqlhash查询v$sqltext查询这条语句的详细信息 下面的语句可以比较好的监控正在使用的临时段的信息 Code: [Copy to clipboard] select se.username ,se.sid ,su.extents ,su.blocks * to_number(rtrim(p.value)) as Space ,tablespace ,segtype ,sql_text from v$sort_usage su ,v$parameter p ,v$session se ,v$sql s where p.name = 'db_block_size' and su.session_addr = se.saddr and s.hash_value = su.sqlhash and s.address = su.sqladdr order by se.username, se.sid /