重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1280|回复: 0
打印 上一主题 下一主题

[参考文档] 【Oracle】拓展临时表空间的三种方法

[复制链接]
跳转到指定楼层
楼主
发表于 2025-6-22 16:35:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方法一:增大临时文件大小:

SQL> alter database tempfile '/oradata/cc/temp01.dbf' resize 1024M;


方法二:将临时数据文件设为自动扩展:

SQL> alter database tempfile ‘/oradata/cc/temp01.dbf’ autoextend on next 5m maxsize unlimited;

方法三:向临时表空间中添加数据文件:

SQL> alter tablespace temp add tempfile ‘/oradata/cc/temp02.dbf’ size 100m;

-----------------------------
正常来说,在完成 Select 语句、 create index 等一些使用 TEMP 表空间的排序操作后, Oracle 是会自动释放掉临时段的。
注意这里的释放,仅仅是将这些空间标记为空闲,并可重用,真正占用的磁盘空间并没有释放。 所以 Temp 表空间可能会越来越大。
排序是很耗资源的, Temp 表空间满了,关键是优化你的语句,尽量使排序减少才是上策.
---------------------------------------------------------------------------------

#相关命令
#创建临时表空间:
create temporary tablespace TEMP
tempfile '/oradata/cc/temp01.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  --默认的是local ,可以不加,另外一种是dictionary(数据字典管理)

#不可以将 Temp 表空间 offline,但是可以将 tempfile offline。 V$TEMPFILE 显示了 tempfile 的状态。

SQL>ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/cc/temp02.dbf' SIZE 18M REUSE;
SQL>ALTER TABLESPACE TEMPFILE TEMPFILE OFFLINE;
SQL>ALTER TABLESPACE TEMPFILE TEMPFILE ONLINE;

SQL>ALTER DATABASE TEMPFILE '/oradata/cc/temp02.dbf' OFFLINE;
SQL>ALTER DATABASE TEMPFILE '/oradata/cc/temp02.dbf' ONLINE;


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 00:55 , Processed in 0.226029 second(s), 25 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表