临时表空间主要内存区不够而必须将排序 数据写到磁盘的那个磁盘空间。该空间由Oracle自动释放。
产生排序操作如下:
ORDER BY 、GROUP BY 、SELECT DISTINCT 、UNION 、INTERSECT
MINUS 、ANALYZE 、CREATE INDEX 以及连接两个没有索引的表
--1.查询临时表空间
SELECT * FROM DBA_TEMP_FILES;
SELECT FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024 MB
FROM DBA_TEMP_FILES;
--2.创建临时表空间和表空间组
CREATE TEMPORARY TABLESPACE ZYG_TEMP1 TEMPFILE
'C:/oracle/product/10.2.0/oradata/TEMPORARY/ZYG_TEMP1-1.DBF'
SIZE 50M TABLESPACE GROUP TEMP_GROUP1;
--3.查询临时表空间组
SELECT * FROM DBA_TABLESPACE_GROUPS;
--移动临时表空间
ALTER TABLESPACE TEMP TABLESPACE GROUP TEMP_GROUP1;
--4.删除临时表空间
(1).先创建临时表空和表空间组
CREATE TEMPORARY TABLESPACE ZYG_TEMP2 TEMPFILE
'C:/oracle/product/10.2.0/oradata/TEMPORARY/ZYG_TEMP2-1.DBF'
SIZE 50M TABLESPACE GROUP TEMP_GROUP2;
SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TEMP_GROUP1 TEMP
TEMP_GROUP1 ZYG_TEMP1
TEMP_GROUP2 ZYG_TEMP2
(2).删除临时表空间ZYG_TEMP2
SQL> DROP TABLESPACE ZYG_TEMP2 INCLUDING CONTENTS AND DATAFILES;
表空间已删除。
SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TEMP_GROUP1 TEMP
TEMP_GROUP1 ZYG_TEMP1
可见删除表空间组TEMP_GROUP2中唯一的临时表空间ZYG_TEMP2后,该临时表空间组就不存在了。
--5.为用户指定默认临时表空间
SQL> ALTER USER DEMO TEMPORARY TABLESPACE TEMP_GROUP1;
用户已更改。
--6.为数据库实例指定默认临时表空间
SQL> ALTER DATABASE CTCMC DEFAULT TEMPORARY TABLESPACE TEMP_GROUP1;
数据库已更改。
--7.查询用户正在使用的临时表空间
SELECT USERNAME,SESSION_NUM,TABLESPACE FROM V$SORT_USAGE;
--8.查询用户与临时表空间信息
SQL> COL USERNAME HEADING '用户名' for a20
SQL> COL TEMPORARY_TABLESPACE HEADING '临时表空间名' for a20
SQL> COL DEFAULT_TABLESPACE HEADING '默认表空间名' for a20
SQL> SELECT USERNAME,TEMPORARY_TABLESPACE,DEFAULT_TABLESPACE,
2 TO_CHAR(CREATED,'YYYYMMDD') 创建日期
3 FROM DBA_USERS ORDER BY USERNAME;
用户名 临时表空间名 默认表空间名 创建日期
-------------------- -------------------- -------------------- --------
ANONYMOUS TEMP_GROUP1 SYSAUX 20050830
BI TEMP_GROUP1 USERS 20090814
CTXSYS TEMP_GROUP1 SYSAUX 20050830
DBSNMP TEMP_GROUP1 SYSAUX 20050830
DEMO TEMP_GROUP1 DEMO 20090814
DIP TEMP_GROUP1 USERS 20050830
…………………… …………………… …………………… …………………… ……………………