Oralce临时表空间的创建与修改

2015-03-18 22:56:08 · 作者: · 浏览: 38

临时表空间是一个磁盘空间,主要用于存储用户在执行order by灯语句进行排序或汇总时产生的临时数据。在默认的情况下,所有的用户都使用temp作为默认临时表空间。但是允许使用其他临时表空间作为默认临时表空间,这需要在创建用户时进行指定。


创建临时表空间是时需要使用temprary关键字,并且与临时表空间对应的是临时文件,由tempfile关键字指定,也就是说,临时表空间中不再使用数据文件,而是用临时文件。


表空间已创建。
此时在f盘的oracledata的目录下可以找到mytemp.dbf的文件
SQL> select tablespace_name,status from dba_tablespaces;


TABLESPACE_NAME? ? ? ? ? ? ? ? STATUS
------------------------------ ---------
SYSTEM? ? ? ? ? ? ? ? ? ? ? ? ONLINE
SYSAUX? ? ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS1? ? ? ? ? ? ? ? ? ? ? ONLINE
TEMP? ? ? ? ? ? ? ? ? ? ? ? ? ONLINE
USERS? ? ? ? ? ? ? ? ? ? ? ? ? ONLINE
TEMPGROUP? ? ? ? ? ? ? ? ? ? ? ONLINE
TEMPGROUP02? ? ? ? ? ? ? ? ? ? ONLINE
MYBIGSPACE? ? ? ? ? ? ? ? ? ? ONLINE
BLOCKSPACE? ? ? ? ? ? ? ? ? ? ONLINE
INSPUR? ? ? ? ? ? ? ? ? ? ? ? ONLINE
TESTSPACE? ? ? ? ? ? ? ? ? ? ? ONLINE
TEST? ? ? ? ? ? ? ? ? ? ? ? ? ONLINE


MYTEMP? ? ? ? ? ? ? ? ? ? ? ? ONLINE


已选择 12 行。


此时在我们的表空间下可以找到MYTEMP表空间。


修改临时表空间
创建临时表空间后,可以对该表空间进行修改。由于临时文件中不存储永久性的数据,知识存储排序等操作过程中产生的临时数据,并且在用户创建操作结束后,临时文件中存储的数据由系统删除,所以一般的情况下不需要调整临时表空间。但是当兵法用户特别多,并且操作比较复杂时,可能会发生临时表空间的不足。这时,数据管理员可以增加临时文件来增大临时表空间。
如果需要增减临时文件,可以使用add tempfile子句。
如果需要修改临时文件的大小,可以使用resize关键字。
还可以修改临时文件的状态为offline或online。


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



? ? FILE# STATUS? NAME
-----------------------------------------------------------------------------------------------
? ? ? ? 1 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\TEMP01.DBF
? ? ? ? 2 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\PDBSEED\PDBSEED_TEMP012015-01-03_05-20-33-PM.DBF
? ? ? ? 3 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\PDBORCL\PDBORCL_TEMP012015-01-03_05-44-35-PM.DBF
? ? ? ? 4 ONLINE? F:\ORACLEDATA\MYTEMP.DBF
? ? ? ? 6 ONLINE? F:\ORACLEDATA\TEMPGROUP01.DBF
? ? ? ? 7 ONLINE? F:\ORACLEDATA\TEMPGROUP02.DBF



已选择 6 行。


SQL> alter tablespace mytemp add tempfile 'f:\oracledata\mytemp2.dbf' size 10m;


表空间已更改。


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



? ? FILE# STATUS? NAME
----------------------------------------------------------------------------------------------
? ? ? ? 1 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\TEMP01.DBF
? ? ? ? 2 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\PDBSEED\PDBSEED_TEMP012015-01-03_05-20-33-PM.DBF
? ? ? ? 3 ONLINE? D:\ORACLE\ORADATA\ORACLE12C\PDBORCL\PDBORCL_TEMP012015-01-03_05-44-35-PM.DBF
? ? ? ? 4 ONLINE? F:\ORACLEDATA\MYTEMP.DBF
? ? ? ? 5 ONLINE? F:\ORACLEDATA\MYTEMP2.DBF
? ? ? ? 6 ONLINE? F:\ORACLEDATA\TEMPGROUP01.DBF
? ? ? ? 7 ONLINE? F:\ORACLEDATA\TEMPGROUP02.DBF


如上所示,在f盘的oracledata文件夹下生成了一个mytemp2.dbf文件


以上的文章来自学习中的记录。