数据库temp临时表空间增大,一般在数据安装时设置临时表空间大小,默认的情况下都是设置为自动增长。这样会引起一个问题:在数据库使用中temp表空间会自动扩展的越来越大,造成磁盘空间使用不足。

引起临时表空间增大主要使用在以下几种情况:

1、order by or group by (disc sort占主要部分);

2、索引的创建和重创建;

3、distinct操作;

4、union & intersect & minus sort-merge joins;

5、Analyze 操作;

6、有些异常也会引起TEMP的暴涨。

解决temp临时表空间大小问题:

一.直接缩小temp表空间大小

alter database tempfile 'd:powerdmsdb\dmsdb\temp01.dbf' resize 1024M;

此语句会直接修改temp表空间的大小,但可能会执行不成功,因为当temp使用率为100%或当前有会话占用时,temp表空间是无法缩小的。

查询当前会话:

SELECT se.username, se.sid, se.serial#, se.sql_address, se.machine, se.program, su.tablespace, su.SEGTYPE, su.CONTENTS

FROM v$session se, v$sort_usage su WHERE se.saddr=su.session_addr

利用此sql语句查询当前会话,然后kill当前会话:

Alter system kill session 'sid,serial#'

执行此语句后再对temp表空间resize空间大小就可以了。

注:此方法只是对temp表空间做临时性的缩小,以后还会继续增大。

方法二:

对temp临时表空间重建并设置增长上限值,设置这个值时要预先估算设置合理,不然当增大到此值时会出错,在合理的范围内增加到上限值时数据库会自动释放temp临时表空间。

重建temp临时表空间:

1.--启动数据库

startup

2.--创建中转临时表空间

create TEMPORARY TABLESPACE TEMP2 TEMPFILE 'D:\PowerDmsDB\DMSDB\TEMP02.DBF' SIZE 2048M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE 5120M; 3.--改变缺省临时表空间 为刚刚创建的新临时表空间temp2

alter database default temporary tablespace temp2; 4.--删除原来临时表空间

drop tablespace temp including contents and datafiles;

5.--重新创建临时表空间

create TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\PowerDmsDB\DMSDB\TEMP01.DBF' SIZE 2048M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE 5120M;

6.--重置缺省临时表空间为新建的temp表空间

alter database default temporary tablespace temp;

7.--删除中转用临时表空间

drop tablespace temp2 including contents and datafiles;

8.--重新指定用户表空间为重建的临时表空间

alter user zxd temporary tablespace temp;

至此临时表空间增长过大可以更改完成。

下面是查询在sort排序区使用的执行耗时的SQL:

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

此语句可以做跟踪查看分析时用。

原文链接:

http://blog.csdn.net/newhappy2008/article/details/6958421

oracle临时表空间占用率过高,ORACLE 临时表空间使用率过高的原因及临时解决方案...相关推荐

  1. oracle占用内存 100,System表空间占用率100%,管理Oracle系统审计

    C:\Users\user>sqlplus sys/********@lin_solgle as sysdba SQL*Plus: Release 11.2.0.1.0 Production o ...

  2. [ Linux驱动炼成记 ] 15 - 存储器EMMC中Ext4文件系统 中 磁盘空间占用率100%

    产品现象 : 设备(Linux 系统) 运行一段时间后,其中某一个分区 /et/config 突然占用率为100%,而实际空间可能1%都不到. 这种问题百思不得其解.谷歌/百度 所遇到的解决方案都是嵌 ...

  3. oracle查询cpu占用率高,解决oracle进程CPU占用过高问题

    解决问题的过程: 1)查看服务器CPU使用情况 输入top 会发现排在前面的都是oracle的进程,而且CPU占用率都是50以上. $top top - 16:28:41 up 4 days, 22: ...

  4. java资源使用效率较高,Java 进程资源使用率较高问题定位

    在实际开发过程中,有些 Java 程序在本地或者在服务器上都可以运行的较正常,但是运行较长一段时间后,可能会出现资源占用率较高的情况,例如 CPU 或 内存占用率较高等情况,以至于发生内存溢出,进程假 ...

  5. linux主机sys使用率忽高忽低,cpu使用率忽高忽低的原因和解决方法

    小编最近经常听说有的 人电脑cpu使用率老是忽高忽低,也不知道怎么回事虽然没怎么影响使用但是这无疑是一个潜在的隐患等到这个隐患爆发了对电脑的伤害可想而知,今天小编就来和大家说说cpu使用率忽高忽低的原 ...

  6. oracle数据库swap占用率高,Oracle数据库所在服务器swap严重

    今天Nagios监控发现一台Oracle数据库服务器swap严重,导致部分Nagios监控项超时报警 查看该服务器,swap空间设置为32G,已使用19G,使用率非常高,并且,vmstat显示si严重 ...

  7. 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志

    一 如何解决"归档日志已满问题" 问题描述:所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文 ...

  8. oracle查询cpu占用率高,ORACLE杀掉cpu占用率高的session

    SPID一一system process id,表示该server process在OS层面的Porcess ID PID一一Oracle process id,可以理解Oracle给自己的进程的一个 ...

  9. oracle数据库swap占用率高,物理内存空余很多,swap被持续占用的问题

    本帖最后由 wyanghu 于 2012-8-18 10:21 编辑 这套生产环境跑在vmware esx虚拟机上,现在遇到的问题是:操作系统内存空余很大,但swap被持续占用,直到swap被占完,估 ...

最新文章

  1. 【Mark 常用方法】Html中<form>标签作用和属性详解
  2. 把握人工智能命脉的有效方法
  3. c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...
  4. python import 路径_python import 上级目录的导入
  5. 语法分析与中间代码生成
  6. 在Android中通过导入静态数据库来提高应用第一次的启动速度
  7. JSTL标签使用说明
  8. 性能优化篇 - Performance(工具 api)
  9. python2 与 python3的区别
  10. 【iphone】 如何将app发布到appstore中
  11. matlab ode45 二阶微分方程,ode45解二阶微分方程
  12. mysql错误:Table XXX is marked as crashed and should be repaire
  13. html插入图片出现红叉,网页上的图片显示为红叉的解决方法
  14. java中各种O的含义(PO,DO,VO,TO,QO,BO,DAO,DTO,POJO)
  15. YOLOv3目标检测算法——通俗易懂的解析
  16. [转载]Ajax的错误处理机制探讨
  17. ACR Loss: Adaptive Coordinate-based Regression Loss for Face Alignment
  18. 0xC0000005: 读取位置 0x6C6C6568 时发生访问冲突的原因及解决方法
  19. Android WIFI ADB 插件小小的安利
  20. abaqus软件使用笔记

热门文章

  1. 从setTimeout,onclick传参看js函数作为参数
  2. python opencv报错_OpenCV in Python 入门问题,python报错 -问答-阿里云开发者社区-阿里云...
  3. servlet 返回可访问文件_JavaWeb技术(4):Servlet的理解(上)
  4. java mongodb 删除字段类型_Mongodb基本数据类型、常用命令之增加、更新、删除
  5. python能不能爬数据库_python爬取数据后不能写入到数据库中
  6. linux编译器项目,编译器架构 LLVM
  7. 好奇怪呀后面加什么标点_狗狗吃饭时奇怪的小动作,你知道代表什么吗?做个懂狗的好主人...
  8. C#容量超出了最大容量。
  9. LSGO软件技术团队2015~2016学年第十七周(1221~1227)总结
  10. 一步步编写操作系统 13 栈