undo表空间的切换,常识

常识
1。每个instance可以有多个UNDO TS,但是每个最少必须要有一个
2、在同一时间,只能有一个instance访问一个UNDO TS,正确
3、每个UNDO TS只属于一个instance,确切的说只属于一个UNDO进程



切换的步骤:
1新建
create undo tablespace UNDOTBS3 datafile '+DATA/scdb/datafile/undotbs3.dbf' size 2000m;

2切换
alter system set undo_tablespace=UNDOTBS3 scope=both;
在rac中以上那句会报错,但是其实也会改当前实例的默认undo表空间。
ERROR at line 1:
ORA-32008: error while processing parameter update at instance SCDB2
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-30013: undo tablespace 'UNDOTBS3' is currently in use


如果不想报错,应该用下面一句。
alter system set undo_tablespace=UNDOTBS3  sid=' 要修改的实例 ' ;
ALTER SYSTEM SET undo_tablespace='UNDOTBS1' SCOPE=BOTH SID='boss1';

用show parameter undo看看现在默认undo表空间有没有改

3删除
查询历史undo是否还有事务(包含回滚事务)
SELECT a.tablespace_name,a.segment_name,b.ktuxesta,b.ktuxecfl,
b.ktuxeusn||'.'||b.ktuxeslt||'.'||b.ktuxesqn trans
FROM dba_rollback_segs a, x$ktuxe b 
WHERE a.segment_id = b.ktuxeusn 
AND a.tablespace_name = UPPER(' undotbs3') 
AND b.ktuxesta <> 'INACTIVE';

但是就算没有回滚事务也不能马上删除,必须看看回滚段情况

查询回滚段情况(原undo表空间的回滚段全部offline,可以删除相关表空间)
select tablespace_name,segment_name,status from dba_rollback_segs order by tablespace_name;

alter tablespace undotbs3 offline;
等一下再删
drop tablespace undotbs3 including contents and datafiles;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值