日期:2014-05-16 浏览次数:20458 次
临时表空间是一个磁盘空间,主要用于存储用户在执行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>