ITPub博客

首页 > 数据库 > Oracle > 关于临时表空间

关于临时表空间

原创 Oracle 作者:cvBertie 时间:2014-04-12 22:17:19 0 删除 编辑
    由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,
当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。一般安装之后只有一个TEMP临时表空间。
临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,
而一直保持问题
sql语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。
网上有人猜测在磁盘空间的分配上,
oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB。也就是说当前临时表空间
文件的大小是历史上使用临时表空间最大的大小。
1 创建临时表空间组

点击(此处)折叠或打开

  1. SQL> create temporary tablespace temp02 tempfile \'/u01/app/oracle/oradata/PROD/disk3/temp02.dbf\' size 10m extent management local uniform size 128k;

  2. Tablespace created.

  3. SQL> create temporary tablespace temp03 tempfile \'/u01/app/oracle/oradata/PROD/disk3/temp03.dbf\' size 10m extent management local uniform size 128k;

  4. Tablespace created.


  5. SQL> alter tablespace tempts tablespace group tmpgrp;

  6. Tablespace altered.

  7. SQL> alter tablespace temp02 tablespace group temgrp;

  8. Tablespace altered.

  9. SQL> alter tablespace temp03 tablespace group temgrp;

  10. Tablespace altered.

  11. SQL> select * from dba_tablespace_groups;

  12. GROUP_NAME TABLESPACE_NAME
  13. ------------------------------ ------------------------------
  14. TMPGRP TEMPTS
  15. TEMGRP TEMP02
  16. TEMGRP TEMP03


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29598413/viewspace-1140960/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 增加表空间大小
下一篇: 数据文件迁移
请登录后发表评论 登录
全部评论

注册时间:2014-04-09

  • 博文量
    27
  • 访问量
    86854