Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。临时表空间的主要作用:

索引create或rebuild

Order by 或 group by

Distinct 操作

Union 或 intersect 或 minus

Sort-merge joins

analyze

重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长。即使重建了临时表空间,过一段时间后,临时表空间的使用率就达到99%,然后,表空间就开始增长,直到耗尽硬盘空间。如下图所示临时表空间,刚建立时是8G,现在已到32G:

为了防止临时表空间无限制的增加,我采用隔一段时间就重建临时表空间的方法,为了方便,我保留两组语句,轮流执行即可,假定现在临时表空间名称是temp,新建一个tempa表空间,删除temp表空间,方法如下:

create  temporary  tablespace  TEMPA  TEMPFILE  '/opt/app/oracle/oradata/orcl/tempa01.dbf '  SIZE  8192M  REUSE  AUTOEXTEND  ON  NEXT  1024K  MAXSIZE  UNLIMITED;  --创建中转临时表空间

alter  database  default  temporary  tablespace  tempa;      --改变缺省临时表空间

drop  tablespace  temp  including  contents  and  datafiles;    --删除原来临时表空间

新建的临时表空间如下图所示:

过一段时间,当临时表空间增长到一定的程度,再新建一个temp表空间,删除tempa表空间,即:

create  temporary  tablespace  TEMP  TEMPFILE  '/opt/app/oracle/oradata/orcl/temp01.dbf '  SIZE  8192M  REUSE  AUTOEXTEND  ON  NEXT  1024K  MAXSIZE  UNLIMITED;  --创建中转临时表空间

alter  database  default  temporary  tablespace  temp;    --改变缺省临时表空间

drop  tablespace  tempa  including  contents  and  datafiles;  --删除原来临时表空间

这样就可以保证临时表空间不至于过大,防止过多的占用有限的硬盘空间。

=====================================================

用下面语句可查看当前临时表空间使用空间大小与正在占用临时表空间的sql语句:

select sess.SID, segtype, blocks * 8 / 1000 "MB", sql_text

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;

下面语句查询临时表空间的空闲程度:

select 'the ' || name || ' temp tablespaces ' || tablespace_name ||

' idle ' ||

round(100 - (s.tot_used_blocks / s.total_blocks) * 100, 3) ||

'% at ' || to_char(sysdate, 'yyyymmddhh24miss')

from (select d.tablespace_name tablespace_name,

nvl(sum(used_blocks), 0) tot_used_blocks,

sum(blocks) total_blocks

from v$sort_segment v, dba_temp_files d

where d.tablespace_name = v.tablespace_name(+)

group by d.tablespace_name) s,

v$database;

oracle删除临时表空间语句,Oracle中临时表空间的清理相关推荐

  1. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  2. oracle 临时表空间语句,oracle的临时表空间

    经常看到有人说看到temporary tablespace空间不释放等等的问题,整理一篇metalink上的相关文章,入门级的,还算浅显吧.基本上就是翻译了. sort之后临时段不回收 描述 当你监控 ...

  3. oracle使用表空间语句,oracle表空间语句

    Oracle表空间创建语句,急 //创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\o ...

  4. oracle删除表不等待,oracle故障处理之删除大表空间hang住

    背景 数据库分区表数据越来越大,需要对过期话的数据进行迁移,以及大的分区表需要进行数据的清理和删除,达到释放磁盘空间的目的. 问题说明 环境:linux 6.X 数据库:oracle 11.2.0.4 ...

  5. oracle删除一张表的sql语句,oracle删除表的语句

    oracle删除一个用户下的表的sql语句是什么啊 删除用户所有表declarecursor c1 is select table_name from dba_tables where owner=' ...

  6. Oracle数据库初学者:sql语句创建数据库表空间,建表语句

    1. 表空间的创建 表空间的创建,格式: create tablespace 表空间名 datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M) autoextend ...

  7. oracle 删除表存过,oracle删除数据库中已存在表的实例代码

    摘要 腾兴网为您分享:oracle删除数据库中已存在表的实例代码,长沙银行,银万财富,图钉,听中国等软件知识,以及土豆app,局域网文件,宝宝学动物,观海听涛bbs,育碧,生男生女预测大师,新先视,信 ...

  8. oracle数据库存储结构语句,oracle之物理数据库结构描述

    oracle之物理数据库结构概述 oracle的物理结构其实是由各种各样的文件组成的, 其中与数据库相关的有: 数据文件(data file):这些文件是数据库的主要文件:其中包括数据表.索引和所有其 ...

  9. oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句

    ORACLE下如何获得全部的索引创建语句 ORACLE下如何获得全部的索引创建语句 今天打算将一个数据库的索引在另一个测试库上重新创建一遍,研究了一下. set pagesize 0 set long ...

最新文章

  1. 资源 | 10x Python开发者必读:本月Python文章TOP 10
  2. crypto安装_KubeEdge 完整安装 amp; 部署小指南
  3. C#开发学习——web服务器端控件
  4. 一定要用虚拟化服务器吗?
  5. Nginx 日志中记录cookie
  6. DFT,DTFT,DFS,FFT区别
  7. XML与Web数据挖掘
  8. 电压kV为什么k要小写,原因你知道吗?
  9. PHP 将json的stdClass Object转成数组array
  10. 做好这5点基本要求 才能算一个合格的HTML5动画
  11. 对计算机病毒的防治也,对计算机病毒及防范对策研究.doc
  12. 【绝对原创】EFS加密文件真的可以解密!各位不要放弃哈~
  13. 婚礼上可用的 八荣八耻(大全)
  14. CentOS 7 完美安装redis-5.0.5
  15. (转)如何动手打造属于自己的智能家居
  16. ElasticSearch查询地图信息(geo-point类型)
  17. python识别图片中的二维码_python3+pyzbar+Image 进行图片二维码识别
  18. [渝粤教育] 中北大学 商业模式设计与创新 参考 资料
  19. 从字节跳动离职后,拿到探探、趣头条、爱奇艺、小红书、15家公司的 offer
  20. Shell脚本:一键优化系统脚本

热门文章

  1. 原创内容将成网络视频的一支奇军
  2. 获取Tekla属性方式
  3. cookie 和 session 区别
  4. nodejs笔记之流(stream)
  5. python_day9 异常处理
  6. 【ExtJS】关于alias和xtype
  7. C#语法之event关键字
  8. 【git】源代码管理工具 GIT的使用步骤的详细讲解
  9. 6.Springcloud的Ribbon的负载均衡算法解析及配置方式
  10. Disconnected from the target VM, address:xxxx 或者 Process finished with exit code 1 终极解决办法 idea