oracle临时表空间的作用是什么?如何查看使用情况?

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

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临时表空间的作用是什么?如何查看使用情况?

问题描述:oracle临时表空间的作用是什么?如何查看使用情况?解决方案:在执行order by/group by/distinct/union/create index/index ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息