admin管理员组文章数量:1130349
TEMPORARY表空间是用来排序操作的,比如你操作几个大表,ORACLE没有足够的内存(sort_area_size)来排序,那么 ORACLE就会分配TEMPORARY表空间来排序。一些涉及排序的操作有CREATE INDEX, ANALYZE, Select DISTINCT, ORDER BY, GROUP BY, UNION, INTERSECT, MINUS, Sort-Merge joins等。
DBA应该给每个用户都设置一个默认TEMPORARY TABLESPACE,以防止用SYSTEM表空间排序。TEMPORARY TABLESPACE不包括永久性表空间,因此不需要备份。
TEMPORARY FILE也和其他数据文件不同,ORACLE在建立TEMPORARY FILE的时候只是标记文件的头和尾,这就是为什么建立TEMPORARY FILE比数据文件快的原因。
和数据文件的区别1:
在STANDBY结构下甚至PERMANENT和STANDBY数据库可以有不同的TEMPFILE,RAC结构下也可以每个节点配置各自的TEMPFILE。
和数据文件的区别2:
一个DATA表空间包含多个DATA FILE的情况下,不能单独删除其中的一个DATA FILE。但TEMPFILE可以。
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
SQL> create temporary tablespace temptest tempfile
'D:\ORACLE\ORADATA\SVW\TEMPtest.dmp' size 10M
2 /
Tablespace created.
1* alter tablespace temptest add tempfile
'D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP' SIZE 10m
SQL> /
Tablespace altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
----------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP TEMPTEST
D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP TEMPTEST
SQL> ALTER DATABASE TEMPFILE '/oradata/temp02.dbf' DROP INCLUDING DATAFILES;
SQL> ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP' DROP INCLUDING DATAFILES;
Database altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP TEMPTEST
甚至你可以删除TEMPORARY TABLESPACE下的所有 TEMPFILE
SQL> ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP' DROP INCLUDING DATAFILES;
Database altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
再增加TEMPFILE
SQL> alter tablespace temptest add tempfile 'D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP' size 10M;
Tablespace altered.
各版本语句的比较
CREATE TABLESPACE temp DATAFILE ...; -
Oracle 7.3 & 8.0
CREATE TABLESPACE temp DATAFILE ... TEMPORARY;
>Oracle 8i and above
CREATE TEMPORARY TABLESPACE temp TEMPFILE ...;
注意,如果加UNIFORM. SIZE参数的话那么需要设置成SORT_AREA_SIZE 才能达到最高性能.
相关语句
CREATE USER scott DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp;
ALTER USER scott TEMPORARY TABLESPACE temp
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
SELECT * FROM DATABASE_PROPERTIES where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';
select TABLESPACE_NAME, BYTES_USED, BYTES_FREE from V$TEMP_SPACE_HEADER;
CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/oradata/mytemp_01.tmp' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 16M;
相关表
V$TEMPFILE
DBA_TEMP_FILES
V$SORT_SEGMENT
V$SORT_USAGE
V$TEMP_SPACE_HEADER
来自 “ ITPUB博客 ” ,链接:http://blog.itpub/238581/viewspace-515927/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub/238581/viewspace-515927/
TEMPORARY表空间是用来排序操作的,比如你操作几个大表,ORACLE没有足够的内存(sort_area_size)来排序,那么 ORACLE就会分配TEMPORARY表空间来排序。一些涉及排序的操作有CREATE INDEX, ANALYZE, Select DISTINCT, ORDER BY, GROUP BY, UNION, INTERSECT, MINUS, Sort-Merge joins等。
DBA应该给每个用户都设置一个默认TEMPORARY TABLESPACE,以防止用SYSTEM表空间排序。TEMPORARY TABLESPACE不包括永久性表空间,因此不需要备份。
TEMPORARY FILE也和其他数据文件不同,ORACLE在建立TEMPORARY FILE的时候只是标记文件的头和尾,这就是为什么建立TEMPORARY FILE比数据文件快的原因。
和数据文件的区别1:
在STANDBY结构下甚至PERMANENT和STANDBY数据库可以有不同的TEMPFILE,RAC结构下也可以每个节点配置各自的TEMPFILE。
和数据文件的区别2:
一个DATA表空间包含多个DATA FILE的情况下,不能单独删除其中的一个DATA FILE。但TEMPFILE可以。
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
SQL> create temporary tablespace temptest tempfile
'D:\ORACLE\ORADATA\SVW\TEMPtest.dmp' size 10M
2 /
Tablespace created.
1* alter tablespace temptest add tempfile
'D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP' SIZE 10m
SQL> /
Tablespace altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
----------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP TEMPTEST
D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP TEMPTEST
SQL> ALTER DATABASE TEMPFILE '/oradata/temp02.dbf' DROP INCLUDING DATAFILES;
SQL> ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\SVW\TEMPTEST01.DMP' DROP INCLUDING DATAFILES;
Database altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP TEMPTEST
甚至你可以删除TEMPORARY TABLESPACE下的所有 TEMPFILE
SQL> ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP' DROP INCLUDING DATAFILES;
Database altered.
SQL> select file_name||' '||tablespace_name from dba_temp_files
2 /
FILE_NAME||''||TABLESPACE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\SVW\TEMP01.DBF TEMP
再增加TEMPFILE
SQL> alter tablespace temptest add tempfile 'D:\ORACLE\ORADATA\SVW\TEMPTEST.DMP' size 10M;
Tablespace altered.
各版本语句的比较
CREATE TABLESPACE temp DATAFILE ...; -
Oracle 7.3 & 8.0
CREATE TABLESPACE temp DATAFILE ... TEMPORARY;
>Oracle 8i and above
CREATE TEMPORARY TABLESPACE temp TEMPFILE ...;
注意,如果加UNIFORM. SIZE参数的话那么需要设置成SORT_AREA_SIZE 才能达到最高性能.
相关语句
CREATE USER scott DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp;
ALTER USER scott TEMPORARY TABLESPACE temp
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
SELECT * FROM DATABASE_PROPERTIES where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';
select TABLESPACE_NAME, BYTES_USED, BYTES_FREE from V$TEMP_SPACE_HEADER;
CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/oradata/mytemp_01.tmp' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 16M;
相关表
V$TEMPFILE
DBA_TEMP_FILES
V$SORT_SEGMENT
V$SORT_USAGE
V$TEMP_SPACE_HEADER
来自 “ ITPUB博客 ” ,链接:http://blog.itpub/238581/viewspace-515927/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub/238581/viewspace-515927/
版权声明:本文标题:TEMPORARY表空间和文件(转) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763875154a2969760.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论