【问题标题】:Nested materialized views find out actions on commit?嵌套物化视图在提交时找出操作?
【发布时间】:2011-12-26 19:29:08
【问题描述】:

我想了解数据库响应说:

插入 T (col_x, col_y, col_z) 值 (val_x, val_y, val_z);

在这种情况下,T 是一个带有物化视图日志的表,但有一个嵌套的物化视图树,它基于它,在提交时刷新。 (例如 T1 基于 T,T2 基于 T1 和 U1 等)。

我想看看数据库在响应提交时做了什么,所以我可以看看它们是否是我可以做的事情来加快这个过程(即添加索引或修改物化视图)。

我更喜欢不需要数据库系统用户/直接机器访问的解决方案,但如果这是唯一可能的解决方案,也可以。

【问题讨论】:

  • +1 表示发布的原始问题,但是如果您知道基于此表的物化日志,您甚至知道插入此表时会发生什么。但是,重要的是要知道,在提交刷新的情况下,所有隐含的 DML 都在同一个事务中完成。在刷新所有 MV 之前它不会提交。

标签: sql database oracle database-design materialized-views


【解决方案1】:

你可以做的是启动一个数据库跟踪

 exec dbms_monitor.database_trace_enable();

这将跟踪数据库中发生的一切到 udump 目录。 那么就

 grep "MV_NAME" *

这将输出与您的 MV 有任何关系的所有跟踪文件。 之后,您必须总结痕迹,以便您可以使用 tkprof 更好地理解它们。

不要忘记禁用数据库跟踪。

丹尼尔

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-09
    • 2013-12-04
    • 2013-12-04
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    相关资源
    最近更新 更多