ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 临时表空间

临时表空间

原创 Linux操作系统 作者:yuecaibo 时间:2012-03-06 00:01:49 0 删除 编辑

临时表空间
 存放排序的中间结果或临时表
 
SYS@beijing> select tablespace_name,contents from dba_tablespaces where CONTENTS='TEMPORARY';

TABLESPACE_NAME CONTENTS
--------------- ---------
TEMP  TEMPORARY

SYS@beijing>


查询数据库默认配置
col DESCRIPTION for a40
col PROPERTY_VALUE for a10
SQL> select * from database_properties;

PROPERTY_NAME         PROPERTY_V DESCRIPTION
------------------------------ ---------- ----------------------------------------
DICT.BASE         2   dictionary base tables version #
DEFAULT_TEMP_TABLESPACE        TEMP   Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE   USERS   Name of default permanent tablespace
DEFAULT_TBS_TYPE        SMALLFILE  Default tablespace type


创建用户指定默认表空间和临时表空间
create user u1 identified by u1
default tablespace users   --10g
temporary tablespace temp  --9i
quota 10M on users
password expire

SQL> select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from  dba_users where username='U1';

USERNAME         DEFAULT_TABLESPACE       TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
U1          USERS         TEMP

SQL>


创建临时表空间
create temporary tablespace NAME tempfile '' size 10M;

修改用户的临时表空间
select temporary_tablespace from dba_users where username='SCOTT';

alter user scott temporary tablespace temp2;

修改数据库默认临时表空间
alter database default temporary tablespace temp;


10G 临时表空间组;
dba_tablespace_groups
group是一组临时表空间组成
alter tablespace temp01 tablespace group tempgroup;
alter tablespace temp02 tablespace group tempgroup;

可以查看 dba_tablesapce_group 查看都有哪些组 哪些成员

如何使用?

1.可以将系统的默认临时表空间改成临时表空间组
SQL> alter database default temporary tablespace tempgroup;

Database altered.

SQL>
2.也可以将用户的的临时表空间修改为临时表空间组

 

 

有两个排序session的话 就会使用组内的不同临时表空间

SQL> select USERNAME,TABLESPACE,BLOCKS from v$sort_usage;

USERNAME         TABLESPACE      BLOCKS
------------------------------ ------------------------------- ----------
U1          TEMP3          768
SCOTT          TEMP2          640

SQL>

实验完毕 将默认恢复到temp
SQL> alter database default temporary tablespace temp;

Database altered.

SQL>

清除临时表空间组

alter tablespace temp01 tablespace group ''; 为空即可
alter tablespace temp02 tablespace group '';

 

扩容手段和永久的一致
SQL> alter database tempfile '/u01/oracle/oradata/ora10g/temp03.dbf' resize 10M;

Database altered.

SQL>

删除临时表空间的文件
SQL> alter tablespace temp2 add tempfile '/u01/oracle/oradata/ora10g/temp02a.db' size 10M;

Tablespace altered.


SQL> alter tablespace temp2 drop tempfile '/u01/oracle/oradata/ora10g/temp02a.db';

Tablespace altered.

SQL>

删除临时表空间
SQL> drop tablespace temp2 including contents and datafiles;

Tablespace dropped.

SQL>

 

 

移动临时文件:
 select tablespace_name,file_name from dba_temp_files; 查询一下临时文件的存储位置。
 临时文件的删除:9I的老语法
 SQL> alter database tempfile '/u01/oracle/oradata/ora10g/temp01.dbf' drop;

 Database altered.

 SQL>
 10G的新语法
 SQL> alter tablespace temp drop tempfile '/u01/oracle/oradata/ora10g/temp01.dbf';
 
 select name from v$tablespace;表空间还在
 select name from v$tempfile; 没有数据文件了
 追加新的临时文件:
 SQL> alter tablespace temp add tempfile '/u01/oracle/oradata/ora10g/temp02.dbf' size 50M;

 Tablespace altered.

 SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24756465/viewspace-717782/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 永久表空间
下一篇: 回退表空间
请登录后发表评论 登录
全部评论

注册时间:2012-03-03

  • 博文量
    42
  • 访问量
    37660