Oracle TEMP表空间切换

SQL> select * from v$mystat where rownum<3;

       SID STATISTIC#      VALUE
---------- ---------- ----------
        88          0          1
        88          1          1
SQL> select sid, SQL_ADDRESS,SQL_HASH_VALUE,SQL_ID from v$session where si

  2  ;

       SID SQL_ADDR SQL_HASH_VALUE SQL_ID
---------- -------- -------------- -------------
        88 6572F0DC      230976896 975tjcc6w8vc0


SQL> select username,TEMPORARY_TABLESPACE from dba_users;

USERNAME                       TEMPORARY_TABLESPACE
------------------------------ ------------------------------
CZCB                           TEMP02
CZSH                           TEMP02
NC502                          TEMP02
JSYH                           TEMP02
PERFSTAT                       TEMP02

SQL> select username,sql_id,sqladdr from  v$tempseg_usage;

USERNAME                       SQL_ID        SQLADDR
------------------------------ ------------- --------
CZCB                           975tjcc6w8vc0 6572F0DC


此时可以看到SID 88的用户在使用TEMP02做排序操作


SQL> create temporary tablespace TEMP tempfile 'E:oradataTEMP.DBF' size 20G;

表空间已创建。

SQL> alter database default temporary tablespace TEMP;
TEMP02上有排序作业,但是不影响TEMP切换

SQL> drop tablespace TEMP02 including contents and datafiles;

一直僵住,也没有错误信息,drop 正在使用的TEMP是不会报错的,但是无法删除.

但是以后的作业不会在分配到原始的TEMP上了。

原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3797973.html