Oracle临时表空间
通过Oracle表空间的讲解,我们了解到表空间是Oracle数据库存储数据和对象的逻辑容器,那临时表空间呢?
Oracle临时表空间主要是存储数据库的排序操作、临时表、中间排序结果等临时对象。例如,我们进行大数量级的排序操作时,当数据库内存不够时,就会写入临时表空间,当操作完成后,临时表空间就会自动清空释放。Oracle经常使用到临时表空间的操作有:create index(创建索引)、group by(分组查询)、order by(排序时)、集合运算时(union、minus、intersect)、多表连接查询时,当数据库内存不足时,会用到临时表空间。
创建临时表空间
Oracle数据库在安装完后就会创建一个默认的临时表空间temp。Oracle创建临时表空间的语法结构和创建持久化表空间一样,只是多了关键字temporary进行创建临时表空间。
创建临时表空间语法:create temporary tablespace tempname
tempfile 'filename'
size m;
语法解析:
1、create temporary tablespace:表示创建临时表空间,tempname表示创建临时表空间的名字。
2、filename:指定临时表空间数据文件的位置。
3、size m:表示临时表空间的大小。
案例1、创建临时表空间temp1,代码如下:create temporary tablespace temp1
tempfile 'E:\APP\ADMIN\ORADATA\ORCL\temp1.DBF'
size 50m;
创建好临时表空间temp1,我们可以通过数据字典dba_temp_files进行查询临时表空间的信息,查询代码如下:select t.TABLESPACE_NAME, --表空间名
t.FILE_NAME, --文件名
t.AUTOEXTENSIBLE, --是否自动扩展
t.BYTES / 1024 / 1024 as tsize, --表空间初始大小
t.MAXBYTES / 1024 / 1024 msize, --表空间最大扩展到多少
b.CONTENTS, --表空间类型
b.EXTENT_MANAGEMENT --表空间管理模式
from dba_temp_files t, dba_tablespaces b
where t.TABLESPACE_NAME = b.TABLESPACE_NAME