temp表空间的作用

temp表空间的作用:

  temp表空间主要用途是进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。

  当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了。

  如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行将会报ora-01652无法扩展临时段的错误,当然解决方法也很简单:1、设置临时数据文件自动扩展,或者2、增大临时表空间。

  临时表空间的相关操作:

  查询默认临时表空间:

  SQL> select * from database_properties where property_name=‘DEFAULT_TEMP_TABLESPACE‘;

  PROPERTY_NAME

  ------------------------------

  PROPERTY_VALUE

  --------------------------------------------------------------------------------

  DESCRIPTION

  --------------------------------------------------------------------------------

  DEFAULT_TEMP_TABLESPACE

  TEMP

  Name of default temporary tablespace

  查询临时表空间状态:

  SQL> select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;

  TABLESPACE_NAME

  ——————————

  FILE_NAME

  ——————————————————————————–

  FILE_SIZE AUT

  ———- —

  TEMP

  /u01/app/oracle/oradata/orcl/temp01.dbf

  100 YES

  扩展临时表空间:

  方法一、增大临时文件大小:

  SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize100m;

  Database altered.

  方法二、将临时数据文件设为自动扩展:

  SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;

时间: 2024-08-29 04:36:17

temp表空间的作用的相关文章

ora-01652无法通过128(在temp表空间中)扩展temp段

有两种原因:一是临时表空间空间太小,二是不能自动扩展. 分析过程: 既然是temp表空间有问题,那当然就要从temp表空间说起啦.首先要说明的是temp表空间的作用,temp表空间主要是用作需要排序的操作. 1.临时表空间 是用于在进行排序操作(如大型查询,创建索引和联合查询期间存储临时数据)每个用户都有一个临时表空间. 2.对于大型操作频繁,(大型查询,大型分类查询,大型统计分析等),应指定单独的临时表空间,以方便管理. 3.分配用户单独临时表空间,一般是针对 大型产品数据库,OLTP数据库,

解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程

解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程 昨天开发人员跟我说,执行一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段.这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展. 分析过程: 既然是temp表空间有问题,那当然就要从temp表空间说起啦.首先要说明的是temp表空间的作用,temp表空间主要是用作需要排序的操作. 1.

Oracle Temp 表空间切换

一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理.当 oracle 里需要用到 sort 的时候, PGA 中 sort_area_size 大小不够时,将会把数据放入临时表空间里进行排序,同时如果有异常情况的话,也会被放入临时表空间 , 正常来说,在完成 Select 语句.create index 等一些使用 TEMP 表空间的排序操作后, Oracle 是会自动释放掉临时段的.注意这里的释放,仅仅是

一个sql导致temp表空间爆掉

Buffer sort引发的血案 今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中.于是就写了一个sql: select t1.* from test1 t1, test2 t2 where t1.col1 = t2.col1(+) and t1.col2 = t2.col2(+) and t1.col3 = t2.col3(+) and t2.col1 is null; 因为是在线系统,

TEMP表空间之Ogg复制进程占用

当日有个变更需求,需要提取数据到压测环境下,在impdp导入过程中发现. . . . imported "RCS"."T_RCS_MER_DAY":"PMAX" 0 KB 0 rowsProcessing object type TABLE_EXPORT/TABLE/COMMENTProcessing object type TABLE_EXPORT/TABLE/INDEX/INDEX一直卡着不动,根据经验应该是该表有索引表空间,应该是索引表空间

TEMP表空间未建导致XMLTYPE类型内容读取错误

今天一用户环境说所有数据表中的xmltype类型,通过查询语句看到如下结果: 例如表名ZLMXXXX的表中配置这个字段是SYS.XMLTYPE,可以看到这个字段所有值都是<Value Error>错误信息,而不报错的是因为该字段是'空'无内容的原因,仔细询问用户该问题出现前是否做了什么操作,得到的回答是该数据库由于硬件变更,进行了迁移,由于数据库本身比较小,且迁移的环境平台完全一样,因此迁移的方式最原始简单的是'冷备份'恢复,但是迁移过来就发现所有XMLTYPE内容的字段都出现错误,而其他字段

oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, b.blocks * 32 / 1024 / 1024, a.sid, a.serial#, a.username, a.osuser, a.status, c.sql_text, b.contents FROM v$session a, v$sort_usage b

oracle临时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, b.blocks * 32 / 1024 / 1024, a.sid, a.serial#, a.username, a.osuser, a.status, c.sql_text, b.contents FROM v$session a, v$sort_usage b

ArcSDE for Oracle表空间管理——暂时(TEMP)表空间

Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长.直到耗尽硬盘空间. 下面操作会占用大量的temporary:    1.用户运行imp/exp 导入导出操作时,会使用大量的temporary段    2.用户在Create 或者 rebuild index时    3.运行create table ...... as