【问题标题】:Will Shrinking and lowering the high water mark cause issues in OLTP systems缩小和降低高水位线是否会导致 OLTP 系统出现问题
【发布时间】:2023-02-09 01:41:39
【问题描述】:

newb 在这里,我们有一个旧的 Oracle 10g 实例,他们必须保持活动状态直到它被替换。每晚的工作非常缓慢,导致了一些问题。每隔一周就有一个大型进程执行大量 DML(删除、插入、更新)。其中一些表有 2+ 百万行。我注意到一些表的 HWM 高于预期,在 Toad 中我运行了一个数据库顾问检查,建议缩小一些表,但我担心这些表可能需要 DML 操作的空间,或者缩小它们会使过程更快还是更慢?

由于许可成本,我们无法添加 cpu,我们添加了 SGA 和 PGA,但没有帮助。

【问题讨论】:

    标签: oracle oracle10g


    【解决方案1】:

    一般来说,收缩表或重建索引应该加快表的读取,或任何进行全表扫描的操作。它不应影响其他 DML 操作。

    选择或搜索数据时,表中的所有空块和查询使用的任何索引仍必须读取,因此重建它们以减少空空间并降低高水位线通常会提高性能。在索引中尤其如此,因为已删除行丢失的空间不会被恢复以供重用。

    【讨论】:

      【解决方案2】:

      如果您正在访问具有完整扫描的表并且在 HWM 下方有很多空白空间,那么是的,绝对重组这些(改变表移动)。没有坏处,只有好处。但是如果你的慢作业正在使用索引,那么好处将是微乎其微的。

      不要假设您的工作缓慢是由于空间碎片造成的。使用 ASH (v$active_session_history) 和 SQL 监视器 (v$sql_plan_monitor) 数据或利用此数据的图形工具来准确探索您的查询在做什么。了解如何阅读执行计划并确定是否为您的数据使用了正确的计划。不幸的是,调整不是一件简单的事情,可以通过在这个论坛上提出问题来解决。

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        • 2012-03-16
        • 2015-04-09
        相关资源
        最近更新 更多