现在的位置: 首页 > 综合 > 正文

oracle 10G中临时表空间组的操作和使用

2013年11月14日 ⁄ 综合 ⁄ 共 2009字 ⁄ 字号 评论关闭

        在 oracle 10g 中,可以创建多个临时表空间,并把它们组成一个临时表空间组,这样应用
数据用于排序时可以使用组里的多个临时表空间,一个临时表空间组至少有一个临时表空
间,其最大个数没有限制,组的名字不能和其中某个表空间的名字相同。
 
         临时表空间组是在创建临时表空间时通过指定group字句创建的,如果删除组中的全部
临时表空间,那么这个组也将消失。

      我们将可以将一个表空间从一个组移动另一个组,或是从一个组中删除临时表空间,或是往
组里添加新的表空间。
 
    使用临时表空间组,有如下的优点:   
            1.避免当临时表空间不足时所引起的磁盘排序问题;   
            2.当一个用户同时有多个会话时,可以使得它们使用不同的临时表空间;
            3.使得并行的服务器在单节点上,能使用多个临时表空间 .

现在就看看如何操作使用临时表空间组:

   1:创建临时表空间组:
  
             SQL> create temporary tablespace tempts1 tempfile
                  2  '/home/oracle/temp1_02.dbf' size 2M tablespace group group1;

                  Tablespace created
                 
              SQL> create temporary tablespace tempts2 tempfile
                    2  '/home/oracle/temp2_02.dbf' size 2M tablespace group group2;

                    Tablespace created

                 
    2.查询临时表空间组:
   
  SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMPTS1
GROUP2                         TEMPTS2

SQL>

3.将表空间从一个临时表空间组移动到另外一个临时表空间组:

 SQL> alter tablespace tempts1 tablespace group GROUP2 ;

Tablespace altered

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP2                         TEMPTS1
GROUP2                         TEMPTS2

SQL>

4.把临时表空间组指定给用户

SQL>  alter user scott temporary tablespace GROUP2;

User altered

SQL>

5.在数据库级设置临时表空间

SQL>  alter database <db_name> default temporary tablespace GROUP2; 

Database altered.

SQL>

6.  删除临时表空间组 (删除组成临时表空间组的所有临时表空间)

SQL> drop tablespace tempts1 including contents and datafiles;

Tablespace dropped

SQL>  select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP2                         TEMPTS2

SQL> drop tablespace tempts2 including contents and datafiles;

Tablespace dropped

SQL>  select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------

SQL>

 

抱歉!评论已关闭.