日期:2014-05-16  浏览次数:20405 次

Oracle数据库表空间6--临时表空间创建修改
  临时表空间是一个磁盘空间,主要用于存储用户在执行order by等语句进行排序或者汇总是产生的临时数据。
默认情况下,所有用户都使用temp作为默认临时表空间。但是也容许使用其它临时表空间作为默认临时表空间,则需要在创建用户时进行指定。

   创建临时表空间需要使用temporary关键字,并且与临时表空间对应的是临时文件,由tempfile关键字指定,也就是说,临时表空间中不再使用数据文件,而是使用临时文件.
SQL> create temporary tablespace temspace
  2  tempfile 'D:\app\SQLTest\Self\tem.dbf'
  3  size 5M autoextend on next 2M maxsize 20M
  4  /

表空间已创建。

SQL>

临时表空间的修改。
 由于临时文件中不存储永久性数据,之存储排序等操作过程中产生的临时数据,
并且在用户操作结束后,临时文件中存储的数据有系统删除,所以一般情况下不需要要调整临时表空间。
  但是当并发用户特别多,并且操作比较复杂时,可以能会发生临时表空间不足。
这时,dba可以增加临时文件来增大临时表空间。
a. 如果要增加临时文件,可以使用add tempfile 子句。
b. 如果需要修改临时巍峨见的大小,可以使用resize关键字。
c. 还可以修改临时文件的状态为offline/online.

SQL> column name format a50;
SQL> select file#,status,name from v$tempfile;

     FILE# STATUS  NAME
---------- ------- ------------------------------------------------
         1 ONLINE  D:\APP\JGWANG\ORADATA\ORCL\TEMP01.DBF
         2 ONLINE  D:\APP\SQLTEST\SELF\TEM.DBF

SQL> alter tablespace temspace
  2  add tempfile 'D:\app\SQLTest\Self\tem02.dbf'
  3  size 5M;

表空间已更改。


SQL> select file#,status,name from v$tempfile;

     FILE# STATUS  NAME
---------- ------- ----------------------------------------------
         1 ONLINE  D:\APP\JGWANG\ORADATA\ORCL\TEMP01.DBF
         2 ONLINE  D:\APP\SQLTEST\SELF\TEM.DBF
         3 ONLINE  D:\APP\SQLTEST\SELF\TEM02.DBF

SQL>