切换UNDO TABLESPACE

本文介绍如何在Oracle数据库中创建和管理UNDOTABLESPACE,包括更改默认的UNDO表空间、检查回滚段的状态及等待事务完成的方法,并最终删除旧的UNDOTABLESPACE。


SQL> create undo tablespace undotbs2 datafile
  2  'D:\oracle\oradata\test\undotbs02.dbf' SIZE 400m autoextend off; 
 
Tablespace created.
 
SQL> show parameter undo
 
NAME                           TYPE        VALUE
------------------------------ ----------- ---------------------
undo_management                string      AUTO
undo_retention                 integer     10800
undo_suppress_errors           boolean     FALSE
undo_tablespace                string      UNDOTBS1
 
SQL> alter system set undo_tablespace=UNDOTBS2 scope=both;
 
System altered.
 
SQL> show parameter undo
 
NAME                           TYPE        VALUE
------------------------------ ----------- ---------------------
undo_management                string      AUTO
undo_retention                 integer     10800
undo_suppress_errors           boolean     FALSE
undo_tablespace                string      UNDOTBS2
 
SQL> select segment_name ,tablespace_name ,segment_id from dba_rollback_segs;
 
SEGMENT_NAME                   TABLESPACE_NAME                SEGMENT_ID
------------------------------ ------------------------------ ----------
SYSTEM                         SYSTEM                                  0
_SYSSMU1$                      UNDOTBS1                                1
_SYSSMU2$                      UNDOTBS1                                2
_SYSSMU3$                      UNDOTBS1                                3
_SYSSMU4$                      UNDOTBS1                                4
_SYSSMU5$                      UNDOTBS1                                5
_SYSSMU6$                      UNDOTBS1                                6
_SYSSMU7$                      UNDOTBS1                                7
_SYSSMU8$                      UNDOTBS1                                8
_SYSSMU9$                      UNDOTBS1                                9
_SYSSMU10$                     UNDOTBS1                               10
 
SEGMENT_NAME                   TABLESPACE_NAME                SEGMENT_ID
------------------------------ ------------------------------ ----------
_SYSSMU11$                     UNDOTBS2                               11
_SYSSMU12$                     UNDOTBS2                               12
_SYSSMU13$                     UNDOTBS2                               13
_SYSSMU14$                     UNDOTBS2                               14
_SYSSMU15$                     UNDOTBS2                               15
_SYSSMU16$                     UNDOTBS2                               16
_SYSSMU17$                     UNDOTBS2                               17
_SYSSMU18$                     UNDOTBS2                               18
_SYSSMU19$                     UNDOTBS2                               19
_SYSSMU20$                     UNDOTBS2                               20
 
21 rows selected.
 
SQL> select usn,status,xacts from v$rollstat;
 
       USN STATUS               XACTS
---------- --------------- ----------
         0 ONLINE                   0
        10 PENDING OFFLINE     1     --  XACTS  : Number of active transactions
        11 ONLINE                   0
        12 ONLINE                   0
        13 ONLINE                   0
        14 ONLINE                   0
        15 ONLINE                   0
        16 ONLINE                   0
        17 ONLINE                   0
        18 ONLINE                   0
        19 ONLINE                   1
 
       USN STATUS               XACTS
---------- --------------- ----------
        20 ONLINE                   0
 
12 rows selected.

发现原UNDOTBS1的回滚段处于PENDING OFFLINE状态,并有一个事物存在
如果要drop UNDOTBS1,需要等到事务完成后才行。

SQL> select usn,status,xacts from v$rollstat;
 
       USN STATUS               XACTS
---------- --------------- ----------
         0 ONLINE                   0
        10 PENDING OFFLINE          0 -- 0表示事务结束
        11 ONLINE                   0
        12 ONLINE                   0
        13 ONLINE                   0
        14 ONLINE                   0
        15 ONLINE                   0
        16 ONLINE                   0
        17 ONLINE                   0
        18 ONLINE                   0
        19 ONLINE                   1
 
       USN STATUS               XACTS
---------- --------------- ----------
        20 ONLINE                   0
 
12 rows selected.
 
SQL> select usn,status,xacts from v$rollstat;
 
       USN STATUS               XACTS
---------- --------------- ----------
         0 ONLINE                   0
        11 ONLINE                   0
        12 ONLINE                   0
        13 ONLINE                   0
        14 ONLINE                   0
        15 ONLINE                   0
        16 ONLINE                   0
        17 ONLINE                   0
        18 ONLINE                   0
        19 ONLINE                   1
        20 ONLINE                   0
 
11 rows selected.
 
SQL> drop tablespace undotbs1 including contents and datafiles;
 
Tablespace dropped.
 
SQL>

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

转载于:http://blog.itpub.net/35489/viewspace-678434/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值