oracle 收缩和降低高水位线是否会导致OLTP系统出现问题

wwtsj6pe  于 2023-02-18  发布在  Oracle
关注(0)|答案(2)|浏览(101)

newb这里,我们有一个旧的Oracle 10g示例,他们必须保持该示例的活动状态,直到该示例被替换。夜间作业非常慢,导致了一些问题。每隔一周就有一个大型进程执行大量DML(删除,插入,这些表中的一些具有2百万以上的行。我注意到有些表的HWM比预期的要高,在Toad中,我运行了一个数据库顾问检查,建议收缩一些表,但我担心表可能需要DML操作的空间,或者收缩表会使处理速度加快还是减慢?
由于许可成本的原因,我们无法添加cpu

lrpiutwd

lrpiutwd1#

如果你正在访问的表是完全扫描的,并且在HWM下面有很多空闲空间,那么是的,一定要重新组织这些表(alter table move)。没有缺点,只有好处。但是如果你的慢作业使用索引,那么好处将是最小的。
不要认为你的慢作业是由于空间碎片。(v$active_session_history)和SQL监视器(v$sql_plan_monitor)数据或图形工具,该工具利用此数据来探索查询正在执行的具体操作。了解如何读取执行计划并确定数据是否使用了正确的计划。不幸的是,调优不是一件简单的事情,可以解决这个论坛上的问题。

mnemlml8

mnemlml82#

一般来说,收缩表或重建索引应该加快表的读取速度,或者加快执行全表扫描的任何操作的速度,而不应该影响其他DML操作。
在选择或搜索数据时,仍必须读取表中的所有空块和查询使用的所有索引,因此重建这些空块以减少空白空间并降低高水位线通常会提高性能。在索引中尤其如此,因为删除行所丢失的空间不会恢复以供重用。

相关问题