This means that on some Unix systems a temp file will not actually allocate disk space until a sorting operation requires it. Although this delayed allocation approach allows rapid file creation, it can cause problems down the road if you ave not reserved the space that may be needed at runtime.
可以通过一个方法改变:
Workaround for Deferred Temp File Disk Space Allocations
A workaround for allocating temp file space at runtime is to preallocate it, just like you do with a datafile. In fact, you first allocate it as a datafile and then drop the tablespace, leaving the file. Finally, you create your temp tablespace reusing the old datafile as a temp file.
-- first create it as a permanent tablespace
-- to force the disk space to be allocated
CREATE TABLESPACE temp
DATAFILE '/ORADATA/PROD/TEMP01.DBF' SIZE 2G;
-- dropping the tablespace does not remove
-- the file from the file system
DROP TABLESPACE temp;
-- the keyword REUSE is needed to use the existing
-- file created in the previous steps
CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/ORADATA/PROD/TEMP01.DBF' SIZE 2G REUSE
原来在建立Oracle10g资料库的时候,temp表空间虽然分配了2G大小的一个文件TEMP01.DBF , 但是没有Sorting等动作之前,temp01.dbf 文件是不占用磁盘空间的 。只有当sorting, create index , hash join 等用到temp动作的时候才会真正开始占用分配磁盘空间 。占用磁盘空间之后不会释放(当然里面的数据会释放) 。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84707/,如需转载,请注明出处,否则将追究法律责任。