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

标题: 【Oracle】拓展临时表空间的三种方法 [打印本页]

作者: Inkcup    时间: 2025-6-22 16:35
标题: 【Oracle】拓展临时表空间的三种方法
方法一:增大临时文件大小:

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;







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2