TEMPORARY:临时段。除了磁盘排序产生临时段之外,临时表也会有临时段。另外,在CTAS过程中,如果SQL还没有最终完成,这个时候的表对应的段为TEMPORARY表,只有在SQL执行的最后将TEMPORARY段改为TABLE段。比如:
SQL> create table t2 as select * from dba_objects;
在执行上面语句的同时,执行:
SQL> select segment_type,owner,segment_name from dba_segments where segment_type=’TEMPORARY’;
SEGMENT_TYPE OWNER SEGMENT_NAME
------------------ ------------------------------ --------------------------------------------
TEMPORARY SYS 1.84337
可以看到临时段,在CTAS执行完之后,我们可以看到:
SQL> select segment_type,owner,segment_name from dba_segments where segment_type=’TEMPORARY’;
未选定行
SQL> select header_file,header_block from dba_segments where wner=USER and segment_name=’T2′;
HEADER_FILE HEADER_BLOCK
----------- ------------
1 84337
可以看到,之前的临时段(其段名为一个特别的名字1.84337,段头的文件号和块号),与CTAS后的表的段头一致。
另外在表和索引的MOVE、REBUILD阶段也会有临时段。所以临时段不一定是在临时表中,在普通的表空间中也可能会存在。
注意在排序段和临时表的段在并没有在DBA_SEGMENTS视图,而是在V$TEMPSEG_USAGE视图中。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-759630/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-759630/