oracle的临时表空间管理

一、创建临时表空间

临时表空间一般用于在进行数据库操作时,内存不够用了,就会写入到临时表空间,操作完成后,临时表空间的内容就会自动清空。oracle 默认创建的 TEMP 表空间就是临时表空间。

例如创建一个临时表空间 tmp_sp :

SQL> create temporary tablespace tmp_sp1 tempfile 'tmp_sp1.dbf' size 10M;

用 dba_temp_files 表可以查询到我们已经创建好了临时表空间:

SQL> select tablespace_name from dba_temp_files;

二、设置默认表空间

例如我们把临时表空间 tmp_sp1 设置成默认表空间:

SQL> alter database default temporary tablespace tmp_sp1;

用如下命令查看默认临时表空间可发现已经更改

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

下面把 TEMP 临时表空间设置成默认表空间

SQL> alter database default temporary tablespace TEMP;

三、创建临时表空间组

临时表空组至少包含一个临时表空间。下面我们来创建一个临时表空间组 tmpgroup,并把上面创建的临时表空间 tmp_sp1 放入其中。

SQL> alter tablespace tmp_sp1 tablespace group tmpgroups;

使用如下命令可以查看到临时空间组已经创建

SQL> select * from dba_tablespace_groups;

另外,可以在创建临时表空间的时候创建临时表空间组,如下所示

SQL> create temporary tablespace tmp_sp2 tempfile 'tmp_sp2.dbf' size 3M tablespace group tmpgroup2;

四、删除临时表空间组

当把一个临时表空间组里的所有临时表空间删除了,临时表空间组也被删除了。

例如我们删除临时表空间 tmp_sp2 :

SQL> drop tablespace tmp_sp2 including contents and datafiles;

因为临时表空间组 tmpgroup2 中只有一个临时表空间 tmp_sp2 ,当我们删除过后,临时表空间组 tmpgroup2 也被删除了。

注意:不能删除默认的临时表空间。

发表评论

后才能评论