临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序DiskSort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporaryfiles)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。
创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(SparseFile),当临时表空间文件创建时,它只会写入文件头部和最后块信息(onlywritestotheheaderandlastblockofthefile)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。
另外,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复TemporaryTablespace。
二、重建oracle临时表空间过程STEP1:Findtheexistingtemptablespacedetails
SQLselecttablespace_name,file_namefromdba_temp_filesTABLESPACE_NAMEFILE_NAME-------------------------------------------------------------------------------TEMP/home/oracle/app/oracle/oradata/cdb1/orcl/orcl_temp012014-07-30_04-39-23-
STEP2:CreateanotherTemporaryTablespaceTEMP1
CREATETEMPORARYTABLESPACETEMP1TEMPFILE‘/u01/app/oradata/DBACLASS/temp01′SIZE2G;
STEP3:MoveDefaultDatabasetemptablespace
ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP1;
STEP4:Ifanysessionsareusingtempspace,thenkillthem.
,,,,'IMMEDIATE;
STEP5:Droptheoriginaltemptablespace.
Droptemptablespace
DROPTABLESPACEtempINCLUDINGCONTENTSANDDATAFILES;
IfyouwanttochangethenamefromTEMP1toTEMP,thenfollowthesameprocessasbelow.
STEP6:CreateTEMPtablespace
CREATETEMPORARYTABLESPACETEMPTEMPFILE/u01/app/temp/temp01′SIZE2000M;
STEP7:MakeTEMPasdefaulttablespace
ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;
STEP8:Droptemporaryfortablespacetemp1
DROPTABLESPACEtemp1INCLUDINGCONTENTSANDDATAFILES;三、查询TEMPTABLESPACE利用率3.1script1
columnused_MBytesformat999,999columnfree_Mbytesformat999,999columntotal_MBytesformat999,999columncollect_timeformatA15selectto_char(sysdate,'DD-MON-RR:HH24:MI')collect_time,round(used_blocks*8192/1024/1024,0)used_Mbytes,round(free_blocks*8192/1024/1024,0)free_Mbytes,round(total_blocks*8192/1024/1024,0)total_MbytesfromV$sort_segmentwheretablespace_namelike'%TEMP%'/eg:COLLECT_TIMEUSED_MBYTESFREE_MBYTESTOTAL_MBYTES-------------------------------------------------17-JUL-16:17:23524293.2script2
setlines180colFreeSpaceGBformat999,999colUsedSpaceGBformat999,999colTotalSpaceGBformat999,999colhost_nameformata30coltablespace_nameformata30selecttablespace_name,(free_blocks*8)/1024FreeSpaceMB,(used_blocks*8)/1024UsedSpaceMB,(total_blocks*8)/1024TotalSpaceMB,_name,_namefromgv$sort_segmentss,gv$_namein(selecttablespace_namefromdba_tablespaceswheretablespace_name='TEMPTBS'andcontents='TEMPORARY')_id=_id;eg:TABLESPACE_NAMEFREESPACEMBUSEDSPACEMBTOTALSPACEMBINSTANCE_NAMEHOST_NAME------------------------------------------------------------------------------------------------------3.3script3
SELECTTABLESPACE_NAME,TABLESPACE_SIZE/1024/1024asTABLESPACE_SIZE_MB,ALLOCATED_SPACE/1024/1024asALLOCATED_SPACE_MB,FREE_SPACE/1024/1024asFREE_SPACE_MBFROMdba_temp_free_space;TABLESPACE_NAMETABLESPACE_SIZE_MBALLOCATED_SPACE_MBFREE_SPACE_MB-------------------------------------------------------------------------------TEMP303029四、附录
本文在我的博客,如需转载请注明出处。喜欢的朋友欢迎转发和点赞!