欢迎来到天天文库
浏览记录
ID:37866078
大小:21.94 KB
页数:4页
时间:2019-06-01
《ORACLE中的一些问题——临时表空间》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1临时表空间1.1什么是临时表空间 在Oracle数据库中进行排序、分组汇总、索引等到作时,会产生很多的临时数据。如有一张员工信息表,数据库中是安装记录建立的时间来保存的。如果用户查询时,使用OrderBY排序语句指定按员工编号来排序,那么排序后产生的所有记录就是临时数据。对于这些临时数据,Oracle数据库是如何处理的呢?通常情况下,Oracle数据库会先将这些临时数据存放到内存的PGA(程序全局区)内。在这个程序全局区中有一个叫做排序区的地方,专门用来存放这些因为排序操作而产生的临时数据。但是这个分区的容量是有限的。当这个分区的大小不足以容纳排序后所产生
2、的记录时,数据库系统就会将临时数据存放到临时表空间中。这就是临时表空间的来历。看起来好像这个临时表空间是个临时工,对于数据库的影响不会有多大。其实大家这是误解这个临时表空间了。在用户进行数据库操作时,排序、分组汇总、索引这些作业是少不了,其会产生大量的临时数据。为此基本上每个数据库都需要用到临时表空间。而如果这个临时表空间设置不当的话,则会给数据库性能带来很大的负面影响。 1.2临时表空间作用 索引create或rebuild Orderby或groupby Distinct操作 Union或intersect或minus Sort-
3、mergejoins analyze 1.1临时表空间建立 以下命令是创建一个临时表空间.其命令和创建其它表空间不同的地方是增加temporay关建字.请注意.如果tablespace设置的是maxsizeunlimited那么,临时表空间也会一直在需要的时候增长.如果在创建数据库时没有指定默认临时表空间.那么会用system表空间作为默认临时表空间当system表空间是本地管理时,你必须定义最少一个默认表空间在创建数据库的时候.本地管理的system表空间不能作为默认临时表空间. createtemporarytablespaceTEMP1TEMP
4、FILE'/oradata/TEMP1_01.dbf'size100M; 临时表空间与正常的表空间还有以下区别 1.Tempfiles总是被设置为NOLOGGING模式 2.不能把一个tempfile设置成readonly模式 3.不能重命名一个tempfile 4.不能通过alterdatabase来创建一个tempfile 5.当你创建或者重写tempfile大小的时候,数据通常不会自动分配tempfile指定的大小的 6.磁盘空间给它(即不会初始化),但是会在块被访问之前分配.(这也是为什么创建临时表空间会比平时表空间
5、要快的多的原因) 7.tempfile的信息存储在dba_temp_files,动态视图v$tempfile中.不在dba_data_files或者v$datafile中. 临时表空间的信息不会记录在controlfile中,所以当启动打开数据库时,不会做临时表空间的校验,即,即使临时表空间不存在也可以打开数据库(默认情况下oracle会自动创建) 1.2临时表空间修改大小 ALTERdatabaseTEMPFILE'F:oracleproduct10.2.0oradataobpmTEMP01.dbf'resize100M; 1.1临
6、时表空间删除 droptablespacetemp01includingcontentsanddatafiles; 注意以上语句并不会真正的删除dbf文件.所以下次新建的时候如果是已存在一的file最好在新建表空间语名中加上reuse 1.2将当前临时表空间指定为新的临时表空间 alterdatabasedefaulttemporarytablespaceTEMP1; 查看当前数据库默认临时表空间: select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE
7、' 1.3监空临时表空间使用大小 表空总大小 selecttablespace_name,(blocks*8)/1024fromdba_temp_files; 表空间已使用大小 select(blocks*8)/1024fromv$sort_usage; 可以通过v$sort_usage查看具体的详细信息.比如是什么操作用到temp表空间.哪名sql,用了多少个段等等. 在dba_segment,dba_extents中没有查看临时表空间段和临时表空间的扩展. 据说临时表空间用了就不会回收段.想查证一下.但是没有找到资料,
8、我看V$s
此文档下载收益归作者所有