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

Oracle的临时表空间

2013年09月07日 ⁄ 综合 ⁄ 共 2421字 ⁄ 字号 评论关闭

         临时表空间主要内存区不够而必须将排序 数据写到磁盘的那个磁盘空间。该空间由Oracle自动释放。

产生排序操作如下:

        ORDER BY GROUP BY SELECT DISTINCT UNION INTERSECT

       MINUS ANALYZE CREATE INDEX 以及连接两个没有索引的表

--1.查询临时表空间

  SELECT * FROM DBA_TEMP_FILES;

  SELECT FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024 MB

  FROM DBA_TEMP_FILES;

--2.创建临时表空间和表空间组

  CREATE TEMPORARY TABLESPACE ZYG_TEMP1 TEMPFILE

  'C:/oracle/product/10.2.0/oradata/TEMPORARY/ZYG_TEMP1-1.DBF'

  SIZE 50M TABLESPACE GROUP TEMP_GROUP1;

--3.查询临时表空间组

  SELECT * FROM DBA_TABLESPACE_GROUPS;

--移动临时表空间

  ALTER TABLESPACE TEMP TABLESPACE GROUP TEMP_GROUP1;

--4.删除临时表空间

  (1).先创建临时表空和表空间组

 CREATE TEMPORARY TABLESPACE ZYG_TEMP2 TEMPFILE

 'C:/oracle/product/10.2.0/oradata/TEMPORARY/ZYG_TEMP2-1.DBF'

 SIZE 50M TABLESPACE GROUP TEMP_GROUP2;

 

  SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;

  GROUP_NAME                     TABLESPACE_NAME

  ------------------------------ ------------------------------

  TEMP_GROUP1                    TEMP

  TEMP_GROUP1                    ZYG_TEMP1

  TEMP_GROUP2                    ZYG_TEMP2

  (2).删除临时表空间ZYG_TEMP2

  SQL> DROP TABLESPACE ZYG_TEMP2 INCLUDING CONTENTS AND DATAFILES;

 

表空间已删除。

 

  SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;

 

  GROUP_NAME                     TABLESPACE_NAME

  ------------------------------ ------------------------------

  TEMP_GROUP1                    TEMP

  TEMP_GROUP1                    ZYG_TEMP1

  可见删除表空间组TEMP_GROUP2中唯一的临时表空间ZYG_TEMP2后,该临时表空间组就不存在了。

--5.为用户指定默认临时表空间

  SQL> ALTER USER DEMO TEMPORARY TABLESPACE TEMP_GROUP1;

 

  用户已更改。

--6.为数据库实例指定默认临时表空间

  SQL> ALTER DATABASE CTCMC DEFAULT TEMPORARY TABLESPACE TEMP_GROUP1;

 

  数据库已更改。

 

--7.查询用户正在使用的临时表空间

  SELECT USERNAME,SESSION_NUM,TABLESPACE FROM V$SORT_USAGE;

--8.查询用户与临时表空间信息

  SQL> COL USERNAME HEADING '用户名' for a20

  SQL>   COL TEMPORARY_TABLESPACE HEADING '临时表空间名' for a20

  SQL>   COL DEFAULT_TABLESPACE HEADING '默认表空间名' for a20

  SQL>   SELECT USERNAME,TEMPORARY_TABLESPACE,DEFAULT_TABLESPACE,

    2    TO_CHAR(CREATED,'YYYYMMDD') 创建日期

    3    FROM DBA_USERS ORDER BY USERNAME;

 

    用户名               临时表空间名         默认表空间名         创建日期

    -------------------- -------------------- -------------------- --------

    ANONYMOUS        TEMP_GROUP1          SYSAUX               20050830

    BI                  TEMP_GROUP1          USERS                20090814

    CTXSYS              TEMP_GROUP1          SYSAUX               20050830

    DBSNMP            TEMP_GROUP1          SYSAUX               20050830

    DEMO              TEMP_GROUP1          DEMO                 20090814

    DIP                 TEMP_GROUP1          USERS                20050830

    …………………… ……………………  ……………………  ……………………  ……………………

抱歉!评论已关闭.