oracle临时表空间的作用是什么?如何查看使用情况?
问题描述:
oracle临时表空间的作用是什么?如何查看使用情况?
解决方案:
在执行order by/group by/distinct/union/create index/index rebuild/minus等操作时,如果在pga或sort_area_size中不能完成,排序将在临时表空间进行(disk sort),临时表空间主要作用就是完成系统中的disk sort.
还有一些大表相关联、create index等如果排序操作不能在sort_area_size中完成,就会用到temp表空间;
一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段的。
PGA设置过小也即sort area开得过小,In-memory Sort率较低,那temp表空间
肯定会增长得很快。
如果workarea_size_policy=auto时,排序在pga内进行,通常pga_aggregate_target的1/20可以用来进行disk sort;
如果workarea_size_policy=manual时,排序需要的内存由sort_area_size决定
查询使用情况语句:
select TABLESPACE_NAME,TABLESPACE_SIZE/1024/1024/1024 "TABLESPACE_SIZE_gByte",ALLOCATED_SPACE/1024/1024/1024 "ALLOCATED_SPACE_SIZE_gByte",FREE_SPACE/1024/1024/1024 "FREE_GByte" from DBA_TEMP_FREE_SPACE;
输出例子:
耗费的临时表空间查询:
select sort.sql_id, sort.blocks*8192/1024/1024,sort.segtype,sort.username,sort.tablespace, sess.sql_id,sess.sid,sess.serial#,sql.sql_fulltext from v$sort_usage sort, v$session sess, v$sql sql where sort.SESSION_ADDR = sess.SADDR and sql.ADDRESS = sess.SQL_ADDRESS order by blocks desc;
oracle临时表空间的作用是什么?如何查看使用情况?
本文2024-09-22 20:21:41发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-113137.html