【问题标题】:Oracle - Rollback Segment usageOracle - 回滚段使用情况
【发布时间】:2012-04-15 19:59:51
【问题描述】:

我想知道如何从 AWR 视图(dba_hist 视图)监控回滚段空间使用情况。有什么方法可以确定回滚段使用了多少可用空间百分比?

我正在使用 Oracle 11g。

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    我认为以下可能是您想要的:

    SELECT rn.Name "Rollback Segment", rs.RSSize/1024 "Size (KB)", rs.Gets "Gets",
           rs.waits "Waits", (rs.Waits/rs.Gets)*100 "% Waits",
           rs.Shrinks "# Shrinks", rs.Extends "# Extends"
    FROM   sys.v_$rollName rn, sys.v_$rollStat rs
    WHERE  rn.usn = rs.usn;
    

    【讨论】:

    • 它是从 v$rollstat 视图中选择的(如果我没记错的话,它会显示特定时间点的回滚段使用情况)。但我想做的是在一段时间内监控回滚段的使用情况。所以我正在寻找类似于 AWR 工具的 dba_hist_* 视图的东西,但我不确定 AWR 是否监控回滚段相关的统计信息。
    • 你想达到什么目的?
    • 这就像我需要每小时获取回滚段使用情况的快照。这就是为什么我想知道是否有任何 AWR 视图包含回滚段使用情况。
    • 好的,我仍然会使用上面的查询并将结果写到表中,使用 DBMS_SCHEDULER 或 CRON 来完成。老实说,我不知道 AWR 视图是否会显示它(可能 - 你确实在报告中得到了类似的信息)
    • 谢谢卡尔。我认为可能有类似 dba_hist_sgastat 的东西,其中包含 v$sggstat 的快照。所以看来我必须手动拍摄 v$rollstat 的快照。
    【解决方案2】:
    1. 回滚事务时撤消更改

    2. 确保其他事务看不到对数据库所做的未提交更改

    3. 在发生故障时将数据库恢复到一致状态

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 2015-08-06
      • 1970-01-01
      • 2013-01-26
      • 2015-05-21
      相关资源
      最近更新 更多