一、理解 oracle 11g的临时表空间的作用

1,临时表空间:用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久性数据

例如当用户对很多数据行进行排序时,排序在 PGA 中进行。但是如果排序的数据过多,导致内存不足时,oracle 会把要排序的数据分成多份,每次只取一份放在 PGA 中进行排序,其他的部分都放到临时表空间中,

当 PAG 里的部分排序完成后,把排序好的部分交换到临时表空间中,同时再从临时表空间里取一份没有排序的数据到 PGA 中进行排序,这样直到所有数据排序完为止。

2,临时表空间组:是一组由临时表空间组成的组,临时表空间组和临时表空间不能同名。临时表空间组不能显示地创建和删除;当把第一个临时表空间分配给某个临时表空间组时,会自动创建这个临时表空间组;

将临时表空间组的最后一个临时表空间删除时,会自动删除临时表空间组

3,select * from v$tablespace;  --查看所有的表空间,只有基本信息

select * from dba_tablespaces;  --查看所有表空间,信息比较全面

select * from dba_data_files:  --查看所有的数据表文件,里面看不到临时表的文件

select * from dba_temp_files;  --查看临时的文件信息

select * from v$tempfile;  --查看临时的文件信息,会很详细

select * from dba_tablespace_groups:  --查看临时表空间组的信息

select property_name,property_value from database_properties where property_name = 'DEFAULT_TEMP_TABLESPACE';  --查找默认的临时表空间

二、掌握创建 oracle 11g 的临时表空间的方法

1,创建临时表空间,不属于组:create temporary tablespace temp2 tempfile 'D:\app\Administrator\oradata\orcl\temp2.dbf' size 10m autoextend on;

2,创建临时表空间,属于组:create temporary tablespace temp3 tempfile 'D:\app\Administrator\oradata\orcl\temp3a.dbf' size 10m autoextend on tablespace group temp_grp;

3,把 temp2 加入到 temp_grp 组中去:alter tablespace temp2 tablespace group temp_grp;

4,把 temp2 从 temp_grp 组中移出去:alter tablespace temp2 tablespace group '';

5,给 temp2 表空间添加一个临时文件:alter tablespace temp2 add tempfile 'D:\app\Administrator\oradata\orcl\temp2b.dbf' size 10m autoextend on;

6,修改系统默认的临时表空间为一个组:alter database default temporary tablespace temp_grp;

7,修改系统默认的临时表空间为另一个表空间:alter database default temporary tablespace temp2;

三、掌握 oracle 11g临时表空间的相关操作

 

posted on 2018-12-14 17:54  独自的独行  阅读(142)  评论(0)    收藏  举报