Oracle Temp表空间切换
来源于: http://www.2cto.com/database/201507/418564.html
一.TEMP表空间作用
临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。当 oracle 里需要用到 sort 的时候, PGA 中 sort_area_size 大小不够时,将会把数据放入临时表空间里进行排序,同时如果有异常情况的话,也会被放入临时表空间 , 正常来说,在完成 Select 语句、create index 等一些使用 TEMP 表空间的排序操作后, Oracle 是会自动释放掉临时段的。注意这里的释放,仅仅是将这些空间标记为空闲,并可重用,真正占用的磁盘空间并没有释放。所以 Temp 表空间可能会越来越大。
排序是很耗资源的, Temp 表空间满了 , 关键是优化你的语句,尽量使排序减少才是上策 .
总结为:
临时表空间的主要作用:
索引create或rebuild;
Order by 或 group by;
Distinct 操作;
Union 或 intersect 或 minus;
Sort-merge joins;
analyze.
二、oracle temp表空间切换
2.1 查询TEMP表空间使用情况:
SELECT temp_used.tablespace_name,
total - used AS "Free",
total AS "Total",
ROUND (NVL (total - used, 0) * 100 / total, 3) "Free percent"
FROM ( SELECT tablespace_name, SUM (bytes_used) / 1024 / 1024 used
FROM GV$TEMP_SPACE_HEADER
GROUP BY tablespace_name) temp_used,
( SELECT tablespace_name, SUM (bytes) / 1024 / 1024 total
FROM dba_temp_files
GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name;

数据库默认表空间:
SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE
2 FROM DATABASE_PROPERTIES
3 WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';
2.2 新建Temp2表空间
create temporary tablespace temp1 tempfile 'D:\APP\ADMINISTRATOR\ORADATA\SDXJ\TEMP2.dbf' size 20M autoextend on next 1M maxsize unlimited
tablespace group ''
extent management local uniform size 1M;
2.3 修改数据库默认表空间为Temp1
SQL> alter database default temporary tablespace temp1;
数据库已更改。
2.4 删除原来表空间
退出session,删除原表空间
DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
删除完成。
三、Temp 表空间一些常用查询
3.1、更改系统的默认临时表空间:
--查询默认临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--修改默认临时表空间
alter database default temporary tablespace temp1;
--所有用户的默认临时表空间都将切换为新的临时表空间:
select username,temporary_tablespace,default_ from dba_users;
--更改某一用户的临时表空间:
alter user scott temporary tablespace temp;
3.2 查找消耗资源比较的sql语句
/* Formatted on 2015/7/14 21:58:17 (QP5 v5.163.1008.3004) */
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
3.3、查看当前临时表空间使用大小与正在占用临时表空间的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;
4.4 对临时表空间进行shrink(11g新增的功能)
--将temp表空间收缩为20M
alter tablespace temp1 shrink space keep 20M;
--自动将表空间的临时文件缩小到最小可能的大小
ALTER TABLESPACE temp1 SHRINK TEMPFILE ’.../temp01.dbf’;
总结: 至此Temp表空间维护完成。
Oracle Temp表空间切换的更多相关文章
- Oracle Temp 表空间切换
一.TEMP表空间作用 暂时表空间主要用途是在数据库进行排序运算.管理索引.訪问视图等操作时提供暂时的运算空间,当运算完毕之后系统会自己主动清理.当 oracle 里须要用到 sort 的时候. PG ...
- Oracle 临时表空间 temp表空间切换
一.TEMP表空间 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理.当oracle里需要用到sort的时候,PGA中sort_ar ...
- oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
今天在查数据的时候报错 ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile# ...
- Oracle大表改为分区表及表空间切换方案
Oracle大表改为分区表及表空间切换方案 一. 背景 由于之前数据库表和索引放在一个表空间导致表空间数据文件增长太快,文件数量即将达到Oracle表空间的限制,需要对表(没有分 ...
- oracle维护表空间和数据文件
1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑 ...
- 直接删除undo及temp表空间文件后的数据库恢复一例
前几天,某用户研发找到我,说他们的研发库坏了,问我能恢复不?我问他们做了什么操作,一个小男孩儿说,看到空间满了,清除了点儿数据,我说是不是连数据库的文件也清除了,他说没有,他清除的是ORACLE_HO ...
- 解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程 昨天开发人员跟我说,执行一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅 ...
- Oracle创建表空间、用户管理、角色管理
内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...
- Oracle重建表空间操作实例
由于环境维护或者性能测试需要,经常需要对表空间进行重建操作.重建表空间操作主要分3中情况介绍,分别是业务表空间.临时表空间和回滚段表空间的重建. 重建业务表空间 由于业务规划要求,重建后的业务表空间名 ...
随机推荐
- 使用中国版 Office 365 -- Team Site分享
Team Site(工作组网站)主要用于团队内部的协同工作,团队(组织机构)内部每个需要使用Team Site的用户都需要一个Office 365的license.但是如果我们需要将Team Site ...
- MMORGP大型游戏设计与开发(客户端架构 part1 of vgui)
作为客户端的重要装饰,UI扮演着极为重要的角色,是客户端中核心的组成.vgui(微GUI)中,提供了核心的接口封装,实现了客户端中常见的界面操作,并结合lua脚本,使得控制界面更加的方便. 构架 总结 ...
- 结对编程项目——四则运算vs版
结对编程项目--四则运算vs版 1)小伙伴信息: 学号:130201238 赵莹 博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...
- NOIP2009 提高组T3 机器翻译 解题报告-S.B.S
题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...
- Episode 388: Testing vs Monitoring
A user-facing bug causes search results to be unavailable for your service. Someone suggests adding ...
- CF721C. Journey[DP DAG]
C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...
- java中“@Deprecated”的意思
例如:Java内在的File类中有如下方法 @Deprecatedpublic URL toURL() throws MalformedURLException {return new URL(&qu ...
- [No000034]知乎-长期接收碎片化知识有什么弊端?
你所接受的一切信息,构成了你的思维方式. 所以,长期接受碎片信息的后果,就是让你的思维变得狭隘,难以进行复杂的思考. 碎片信息通常具备这样的特征: •它们往往是一些事实的集合而非逻辑 •它们往往大量简 ...
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- ubuntu14.04安装sipp3.2
本来在centos里不好装的软件,往往ubuntu里会很好装,但sipp恰恰相反,ubuntu里能装死你. 做VOIP测试的话,有时候为了模拟通话中更好的抓包,在环境简陋,又不想使用集线器引起广播风暴 ...