ORACLE在线切换undo表空间

ORACLE在线切换undo表空间
原文地址:http://www.xifenfei.com/3367.html
切换undo的一些步骤和基本原则
查看原undo相关参数
SHOW PARAMETER UNDO;

创建新undo空间create undo tablespace undo_x datafile ‘E:\ORACLE\ORADATA\XIFENFEI\undo_xifenfei.dbf’ size 10Mautoextend on next 10M maxsize 30G;

查询历史undo是否还有事务(包含回滚事务)
SELECT a.tablespace_name,a.segment_name,b.ktuxesta,b.ktuxecfl,b.ktuxeusn||’.’||b.ktuxeslt||’.’||b.ktuxesqn transFROM dba_rollback_segs a, x$ktuxe bWHERE a.segment_id = b.ktuxeusnAND a.tablespace_name = UPPER(’&tsname’)AND b.ktuxesta <> ‘INACTIVE’;
–因为有undo_retention参数,所以不能简单的通过确定该sql无事务就可以删除原undo

切换undo表空间(无论是否有事务,均可以切换[最好是无事务时切换],但是不能直接删除原undo表空间)
alter system set undo_tablespace=‘undo_x’;

alert日志现象,表明原undo还有事务
Sun Jun 17 20:10:45 2012
Successfully onlined Undo Tablespace 7.
[36428] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state.
[36428] active transactions found/affinity dissolution incompletein undo tablespace 2 during switch-out.
ALTER SYSTEM SET undo_tablespace=‘undo_xifenfei’ SCOPE=BOTH; Sun
Jun 17 20:11:38 2012
[36312] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state.Sun Jun 17 20:16:15 2012
[36312] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state.
–只能表明有事务,就算长时间未出现类似记录,不能证明一定可以删除原undo,因为undo_retention

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

离线原undo表空间
alter tablespace undotbs1 offline;

确定原undo回滚段全部offline,直接删除
drop tablespace undotbs1 including contents and datafiles;

切换undo表空间一句话:新建undo几乎是任何时候都可以执行切换undo表空间命令,如果要删除历史undo需要等到该undo空间所有回滚段全部offline.千万别在尚有回滚段处于online状态,强制删除数据文件.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值