我们需要知道的是,在Oracle 8i或Oracle8i以下版本,Oracle使用的是有数据文件特性的临时数据文件,当我们创建数据库时,Oracle使用类似如下语句创建临时表空间:CREATE TABLESPACE TEMP DATAFILE '/data1/oracle/oradata/8.1.7/temp01.dbf'
SIZE 32M REUSE AUTOEXTEND ON NEXT 640K MINIMUM EXTENT 64K DEFAULT STORAGE
( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)
TEMPORARY;
此时创建的是具有数据文件属性的临时表空间。
这时的临时表空间可以从dba_data_files视图中查询得到:SQL> select file_name from dba_data_files where tablespace_name='TEMP';
FILE_NAME
----------------------------------------------------------------------------
/data1/oracle/oradata/8.1.7/temp01.dbf
在Oracle8i中,如果缺省的建立一个用户,不指定临时表空间和缺省表空间,那么用户的缺省或临时表空间都会指向到SYSTEM表空间:SQL> select * from v$version where rownum <2;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production
SQL> create user eyglee identified by eygle;
User created.
SQL> select username,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE
2 from dba_users where username='EYGLEE';
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
---------- ------------------------------ --------------------
EYGLEE SYSTEM SYSTEM
如果用户使用SYSTEM表空间进行排序,对于系统表空间会造成很大的性能问题,所以在Oracle9i中,Oracle做出了一个改变。