TEMPORARY Tablespaces and TEMPFILES

1、 临时表空间

临时表空间主要用于存储临时表和SQL语句在执行排序操作的时候使用,它主要存储会话过程中的临时信息,如排序信息等
主要有以下使用场景:
两个大表进行关联后,执行排序(当用于排序的内存不足时,会使用临时表空间,排序内存由初始化参数:SORT_AREA_SIZE 决定),以下是查看该参数的方法:
这里写图片描述
2、执行analyze语句,进行表统计信息的收集
3、create index
4、select distinct
5、group by ,union ,minus,intersect,sort merge join等
6、存储Oracle的临时表及临时表的索引

2、临时表空间的创建

数据库在建立的过程中,会自动创建名为:temp的临时表空间,每个数据库,只能分配一个临时表空间,并且只能有一个默认的临时表空间,可以执行以下的语句创建数据库表空间:

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tablespace_name;

在建立用户的过程中,不需要显式的指定该用户的临时表空间,它将默认取数据库的默认表空间,该参数通过如下视图查询:

SELECT *
  FROM DATABASE_PROPERTIES
 WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE'

其中:database_properties代表数据库的永久的属性
这里写图片描述
当前在该视图中也可以找到数据库默认的持久化表空间
这里写图片描述
针对临时表空间的性能方面的建议:
1. 用临时表空间代替永久表空间进行排序操作
2. 确保使用本地表空间管理临时表空间,而不是使用数据字典管理临时表空间(Use sort space bitmap instead of sys.fet andsys.uet for allocating space)
3. 使用tempfile代替datafile(可以减少备份和恢复的时间)
4. 将临时表空间分散在多个磁盘,减少表空间的争用,提升排序操作的性能

3、临时表空间的离线

临时表空间不允许离线,但是临时表空间对应的临时文件可以离线(当包含多个临时文件,必须有一个文件是在线的,否则提示错误信息)
这里写图片描述

http://www.laoxiong.net/
http://www.dba-oracle.com/t_ora_25153_temporary_tablespace_is_empty.htm
http://www.dba-oracle.com/t_ora_25152_tempfile_cannot_be_dropped.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值