UNDO 行为

-- 回滚表空间各区使用状况

select status, sum (blocks) as blocks, sum (bytes/ 1024 ) as Size_Kb
 
from dba_undo_extents
 
where tablespace_name = 'UNDOTBS01'
 
group by status

 

 

每个undo extent 可以有三种状态:

active: 有活动事务在此extent

expired: 已结束的事务,undo 信息超过undo_retention 时间限制

unexpired: 已经结束的事务,undo 信息未达到undo_retention 时间限制

当一个事务开始它将会去寻找可用的undo block 来存放undo 信息,它将按照以下顺序请求undo space.

1. 先去搜索拥有非active extentundo segment ,如果没有发现,那么会去创建新的undo segment, 如果空间不够不能创建,将返回错误

2. 如果有一个undo segment 被选中,但是其中freeundo block 并不足以存储该事务的undo 信息,那么它将尝试创建extent ,如果没有空间,那么将会进入下一步。

3. 如果创建新extent 失败,它将会搜索其他undo segmentexpired extent 并重用。

4. 如果其他undo segment 中没有expired extent 可使用,那么它会继续搜索其他undo segmentunexpired extent 并重用。

5. 如果经过以上尝试还没有可用空间,将会返回错误。

V$undostat

EXPSTEALCNT: 尝试请求 expired extent 的次数
EXPBLKREUCNT:
实际使用 expired block
UNXPSTEALCNT:
尝试请求 unexpired extent 的次数
UNXPBLKREUCNT:
实际使用 unexpired block

 

 

V$ROLLSTAT 中的常用列
?        USN
:回滚段标识
?        RSSIZE
:回滚段默认大小
?        XACTS
:活动事务数

在一段时间内增量用到的列
?        WRITES
:回滚段写入数 ( 单位 :bytes)
?        SHRINKS
:回滚段收缩次数
?        EXTENDS
:回滚段扩展次数
?        WRAPS
:回滚段翻转 (wrap) 次数
?        GETS
:获取回滚段头次数
?        WAITS
:回滚段头等待次数

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值