Oracle ----undo 与回滚段

---检查undo
     show parameter undo_
    
---检查undo rollback segment 使用情况
     select name, rssize, extents, latch, xacts, writes, gets, waits
       from v$rollstat a, v$rollname b
     where a.usn = b.usn
     order by waits desc;
    
---每个事务产生的redo 块大小

     select a.redoblocks / b.trancount
  from (select value redoblocks
          from v$sysstat
         where name = 'redo blocks written') a,
       (select value trancount from v$sysstat where name = 'user commits') b;
      
---计算每秒钟产生的undoblk数量
     select sum(undoblks) / sum((end_time - begin_time) * 24 * 60 * 60)
       from v$undostat;
      
---查询undo具体信息
     COL undob FORMAT 99990;
     COL trans FORMAT 99990;
     COL snapshot2old FORMAT 9999999990;
     SELECT t.BEGIN_TIME   BEGIN_TIME,
            t.END_TIME     END_TIME,
            undoblks       "UndoB",
            txncount       "Trans",
            maxquerylen    "LongestQuery",
            maxconcurrency "MaxConcurrency",
            ssolderrcnt    "Snapshot2Old",
            nospaceerrcnt  "FreeSpaceWait"
       FROM v$undostat t;
      
--查询rollback 段详细信息(收缩次数,扩展次数,平均活动事务等)
--COL RBS FORMAT a4;
     SELECT n.name      "RBS",
            s.extends   "Extends",
            s.shrinks   "Shrinks",
            s.wraps     "Wraps",
            s.aveshrink "AveShrink",
            s.aveactive "AveActive"
       FROM v$rollname n
       JOIN v$rollstat s
     USING (usn)
     WHERE n.name != 'SYSTEM';      
    
---查询当前rollback segment使用情况
     COL RBS FORMAT a4;
     SELECT n.name "RBS",
            s.status,
            s.waits,
            s.gets,
            s.writes,
            s.xacts "Active Trans"
       FROM v$rollname n
       JOIN v$rollstat s
     USING (usn)
     WHERE n.name != 'SYSTEM';
         
---查询使用rollback segment时等待比率
     SELECT ROUND(SUM(waits/gets)*100,2)||'%' "Contention" FROM
     v$rollstat;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芦诗轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值