一、临时表空间工作原理

用户很多操作都会使用到临时表空间的临时段,最常见的是排序操作。当用户执行排序操作时,有两个区域可以容纳该操作:

1、优先在内存中进行,称为Sort Memory。如果启用自动PGA管理,则受到参数PGA_AGGREGATE_TARGET的影响;如果PGA是手动管理的,则用于排序的内存空间受参数SORT_AREA_SIZE影响。

2、其次使用临时表空间,称为Sort Disk。当内存无法容纳该排序操作时,则会使用到临时表空间进行排序。Sort Memory的性能远高于Sort Disk。

SYS@MTH> select name,value from v$sysstat where name like 'sort%';

NAME                      VALUE
--------------------     ----------

sorts (memory)           3051115172
sorts (disk)             662
sorts (rows)             2.1834E+10

当第一次使用临时表空间的排序操作开始后,临时段被创建,extent被分配到这个临时段中供排序操作使用;当排序结束后,这个临时段并不会被删除,而是将这个临时段中的extent标记为free,其他排序操作可以继续使用这个临时段。所以,临时段在数据库中是一次分配,循环使用

在一个数据库实例中,同一个临时表空间只存在一个临时段,Oracle根据排序空间需求,逐渐分配extent到这个临时段中。当数据库重启后,SMON会释放临时段中的extent

二、重建与切换TEMP表空间

1、首先查看当前的默认TEMP表空间

SYS@MTH> select tablespace_name,file_name,bytes/1024/1024 MB from dba_temp_files;

TABLESPACE_NAME                FILE_NAME                              MB
------------------------------ ------------------------------ ----------
TEMP                           /oraidx/MTH/temp01.dbf                200

SYS@MTH> select username,temporary_tablespace from dba_users;

USERNAME                       TEMPORARY_TABLESPACE
------------------------------ ------------------------------
RMAN                           TEMP
MTH                            TEMP
ZYX                            TEMP
EMST                           TEMP
DPGS                           TEMP
EBOARD                         TEMP
SCOTT                          TEMP
......

查看TEMP表空间使用情况:

SYS@MTH> select tablespace_name,tablespace_size/1024/1024 tablespace_size,allocated_space/1024/1024 allocated_space,free_space/1024/1024 free_space from dba_temp_free_space;

TABLESPACE_NAME                TABLESPACE_SIZE   ALLOCATED_SPACE   FREE_SPACE
---------------------          ---------------   ---------------   ----------
TEMP                           200               10                198

2、创建新的临时表空间

SYS@MTH> create temporary tablespace TEMP_NEW tempfile '/oraidx/MTH/temp_new01.dbf' size 20M;

Tablespace created.

3、切换,设置新的临时表空间为默认临时表空间

SYS@MTH> alter database default temporary tablespace TEMP_NEW;

Database altered.

4、检查此时的默认临时表空间
SYS@MTH> select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

PROPERTY_NAME                  PROPERTY_VALUE
------------------------------ ------------------------------
DEFAULT_TEMP_TABLESPACE        TEMP_NEW

SYS@MTH> select username,temporary_tablespace from dba_users;

USERNAME                       TEMPORARY_TABLESPACE
------------------------------ ------------------------------
RMAN                           TEMP_NEW
MTH                            TEMP_NEW
ZYX                            TEMP_NEW
EMST                           TEMP_NEW
DPGS                           TEMP_NEW
EBOARD                         TEMP_NEW
SCOTT                          TEMP_NEW
FR_ADMIN                       TEMP_NEW
......

5、查询试图,如果旧的临时表空间没有用户在使用,就可以删除。

SYS@MTH> select /*+ rule*/ distinct a.SID, a.PROCESS, a.SERIAL#, to_char(a.LOGON_TIME,'yyyy-mm-dd hh24:mi:ss') login, a.OSUSER,tablespace,b.SQL_TEXT from v$session a, v$sql b, v$sort_usage c where a.SQL_ADDRESS=b.ADDRESS and a.SADDR=c.SESSION_ADDR;

SID  PROCESS    SERIAL#     LOGIN                OSUSER     TABLESPACE  SQL_TEXT
---------- --------    ---------- -------------------  ----------  ---------- ----------------------------------------------------------------------------------------------------
               9  19054       2289       2017-05-10 11:33:30  oracle      TEMP       select /*+ rule*/ distinct a.SID, a.PROCESS, a.SERIAL#, to_char(a.LOGON_TIME,:"SYS_B_0") login, a.OS
                                                                              USER,tablespace,b.SQL_TEXT from v$session a, v$sql b, v$sort_usage c where a.SQL_ADDRESS=b.ADDRESS a
                                                                              nd a.SADDR=c.SESSION_ADDR

kill掉这个session,

alter system kill session 'sid,serial#';

重新查询:

SYS@MTH> select /*+ rule*/ distinct a.SID, a.PROCESS, a.SERIAL#, to_char(a.LOGON_TIME,'yyyy-mm-dd hh24:mi:ss') login, a.OSUSER,tablespace,b.SQL_TEXT from v$session a, v$sql b, v$sort_usage c where a.SQL_ADDRESS=b.ADDRESS and a.SADDR=c.SESSION_ADDR;

no rows selected

删除旧的临时表空间:

SYS@MTH> drop tablespace TEMP including contents and datafiles;

Tablespace dropped.

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

转载于:http://blog.itpub.net/30776559/viewspace-2138831/

【TEMP】临时表空间的工作原理及维护方法相关推荐

  1. Oracle Temp临时表空间及其故障处理

    Oracle Temp临时表空间及其故障处理 Oracle 11g中Temp临时表空间.文件的新特性 临时表空间是Oracle体系结构中比较特殊的结构.通常情境下,数据库使用者只需要设置对应的临时表空 ...

  2. 计算机什么ups又称在线式ups,UPS电源的工作原理及维护

    UPS电源的工作原理及维护 [摘要]本文阐述了UPS电源的种类和运行特点,以及日常应用中的维护和维修方法. [关键词]UPS;逆变器;智能化;蓄电池;维护 UPS电源也称不间断电源,能够提供持续.稳定 ...

  3. 立式离心泵的工作原理与维护

    立式离心泵的工作原理与维护,当立式离心泵电机带动轴上的叶轮高速旋转时,充满在叶轮内的液体在离心力的作用下,从叶轮中心沿着叶片间的流道甩向叶轮的四周,由于液体受到叶片的作用,使压力和速度同时增加,经过导 ...

  4. redis介绍以及使用 ppt_光纤收发器的工作原理以及使用方法介绍

    关于光纤收发器的工作原理以及使用方法这块,在这里飞畅科技的小编做了专门的整理,首先,我们来了解下什么是光纤收发器,光纤收发器是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元 ...

  5. 光纤收发器的工作原理以及使用方法

    关于光纤收发器的工作原理以及使用方法这块,在这里飞畅科技的小编做了专门的整理,首先,我们来了解下什么是光纤收发器,光纤收发器是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元 ...

  6. 负压电路_通风设备之负压风机的工作原理与安装方法是怎样的?

    点击上方蓝字关注我吧! 作为通风设备之一的负压风机在厂房车间通风换气降温的过程中也发挥了比较重要的作用,常见的车间通风降温方案有工业大风扇+环保空调的"扇机组合",也有环保空调+负 ...

  7. 科沃斯扫地机器人电路原理图_科沃斯扫地机器人的工作原理及维修方法

    对很多人来说,扫地机器人一点都不陌生.随着科技的发展,经济的增长,很多家庭都会使用扫地机器人代替手工打扫.今天小编和大家讲讲一个国产品牌--科沃斯.科沃斯的扫地机器人的工作原理和维修方法您知道吗?下面 ...

  8. 增量式编码器的工作原理与使用方法

    增量式编码器的工作原理与使用方法 1.工作原理     旋转编码器是一种采用光电等方法将轴的机械转角转换为数字信号输出的精密传感器,分为增量式旋转编码器和绝对式旋转编码器.     光电增量式编码器的 ...

  9. 光纤收发器的原理及应用_光纤收发器的工作原理以及使用方法详解!

    原标题:光纤收发器的工作原理以及使用方法详解! 关于光纤收发器的工作原理以及使用方法这块,在这里飞畅科技的小编做了专门的整理,首先,我们来了解下什么是光纤收发器,光纤收发器是一种将短距离的双绞线电信号 ...

最新文章

  1. tensorflow 安装_tensorflow安装
  2. [J2ME]手机看交通监视器实时录像 实现说明
  3. linux支持sshd救援模式,单用户、救援模式、克隆、两机互联
  4. 检查网口流量与前10名流量大IP
  5. android 图片气泡,android图片上显示气泡消息
  6. 史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
  7. HTML中添加meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1
  8. linux扫描目标主机开放端口
  9. 如何使用git merge --squash?
  10. linux c 笔记-1
  11. 15、三数之和(python)
  12. 单片机微型计算机 原理及接口技术,微机原理及单片机接口技术
  13. 秋招春招总结,经验分享(计算机专业)
  14. 内存超频时序怎么调_内存超频(ddr4内存时序多少为好)
  15. MATLAB实现LSBR并采用卡方分析进行分析
  16. 如何利用Gmail群发电子邮件
  17. Android 歌词滚动效果(歌词逐个与逐渐变色)可换行
  18. BMFont制作字体
  19. 跟我学c++高级篇——模板元编程之十一鸭子类型
  20. 【C 语言小游戏】手打贪吃蛇1,闭关在家37天“吃透”这份345页PDF

热门文章

  1. 沪深交易所网上、网下发行对比
  2. Class - 7 用户输入和while循环
  3. 报错java找不到符号 符号:类xxx位置xxxx
  4. android高级工程师应该会的知识
  5. 读书笔记(六)--Catena
  6. 『论文笔记』TensorFlow1.6.0+Keras 2.1.5+Python3.5+Yolov3训练自己的数据集!
  7. JVM - 彻底理解打破双亲委派机制
  8. 关于QTableWidget中单元格的合并
  9. 高速PCB(五) 信号层覆铜选择困难症
  10. 日历签到 java_android自定义可签到日历