问题标签 [materialized-views]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
97884 浏览

oracle - 物化视图 - 识别最后一次刷新

我目前访问一系列视图和物化视图。物化由第三方维护,该第三方几乎没有提供关于物化频率和成功的信息。最近物化视图未能刷新,我发送了许多报告,其中包含不正确/延迟的数据。

目前我正在查询我打算用来确定事务系统中最新更新何时发生的每个物化,如果尚未刷新,则其余代码不会执行,但这会浪费大量精力,有时会导致对于不正确的假设(物化视图可能已刷新,但没有进行其他事务 - 因此代码的其余部分不会执行),我更喜欢另一种方法。

有没有办法确定物化视图是否已使用 Oracle 系统表刷新?如果没有,有没有人知道我如何在不联系第三方的情况下做到这一点?

0 投票
2 回答
1912 浏览

oracle - Oracle - 物化视图改变结构如此缓慢

我有一个巨大的物质化观点,我必须调整。这是一个简单的调整,因为我只是在 select 语句中添加了一个 NVL 函数。

即原...

即修改

该查询需要 26 秒才能运行,但由于检索到的行数(230 万),它非常慢。它连续运行了将近 5 天,然后我停止了它。

这是一个问题,特别是因为我需要将其交付给客户,而他们无法运行 5 天以上的脚本来创建 MV。

问题:有什么方法可以加快MV的修改/重新制作速度?如果我更改 MV 会更快还是与删除和重新创建大致相同?

Oracle 版本 = 10g

0 投票
1 回答
3978 浏览

oracle - Oracle - 物化视图混淆(Toad IDE 在表部分显示 MV 是否错误?)

我对物化视图感到困惑。要么是我使用的 Toad IDE 让我感到困惑,要么是我对 MV 的理解不够。

我通过这样的方式在 Oracle 中创建了一个物化视图......

我希望物化视图将被创建并填充从查询返回的数据。好吧,没什么大不了的。

我感到困惑的是为什么我的 Toad IDE 在表格部分下显示一个表格“TESTRESULT”。它甚至有一个我可以查看的“创建表脚本”。在此处输入图像描述

但我也在“物化视图”部分看到了我的物化视图。在此处输入图像描述

我创建物化视图时Oracle在幕后创建表?看起来好像有两个单独的对象,一个物化视图和一个表?在创建物化视图时,有人可以解释一下幕后发生的事情吗?蟾蜍错了还是我误解了什么?

Toad 版本:9.6.1.1 Oracle:10g

0 投票
1 回答
5944 浏览

oracle - Oracle - 更新物化视图

如何更新物化视图?更新物化视图有什么缺点吗?我的情况是,我可以

  1. 更新物化视图 (OR)
  2. 将记录复制到另一个表,更新它们,截断或删除物化视图表,将更新的记录重新插入物化视图。

这两个选项围绕重建物化视图所需的大量时间(字面意思是 5 天以上)。

版本:Oracle 10g

0 投票
1 回答
3167 浏览

oracle - Oracle - 我不能将物化视图的 PREBUILD 语句与其他 MV 子句一起使用

我正在尝试在预建表的顶部构建一个物化视图。我可以使用以下不带修饰符的语法,并且效果很好。

但是,当向物化视图添加额外的子句时,我收到错误“缺少关键字”。我不确定自己遗漏了什么,也无法在网上找到任何与在预建表之上构建添加额外子句相关的文档。

甲骨文版本:10g

0 投票
1 回答
29635 浏览

oracle - Oracle - 使用 DBMS_MVIEW.REFRESH 刷新“REFRESH FORCE ON DEMAND”视图时会发生什么

我有以下物化视图-

此物化视图没有支持 MATERIALIZED VIEW LOG。从上面的条款中可以看出,这个 MV 有“ON DEMAND”指定,并且根据 Oracle 文档,

“[ON DEMAND] 指示 [s] 物化视图将通过调用三个 DBMS_MVIEW 刷新过程之一按需刷新。”

当我调用 DBMS_MVIEW.REFRESH('TESTRESULT') 时,发生了什么?是否手动检查每条记录以查看是否已更新?

甲骨文版本:10g

0 投票
1 回答
5556 浏览

db2 - 如何在 Db2 的 MQT(物化查询表)上创建索引?

如何在 Db2 的 MQT(物化查询表)上创建索引?我没有在文档中找到此信息?索引创建语法是否与普通表相同?

0 投票
1 回答
2039 浏览

database - 是否可以在 DB2 中设置自动刷新 MQT?

还有其他方法可以安排刷新吗?假设我想每 2 小时刷新一次 MQT。那可能吗?

例子:

0 投票
3 回答
5335 浏览

oracle - 外部数据库上的物化视图无法在指定时间刷新 - SQL*Net 来自 dblink 的更多数据

我们使用在 Oracle 上运行的基于 Web 的服务。他们严格地只允许 SELECT-only ODBC 访问。我们所做的一些报告并没有被公司提供的视图很好地解释,因此我们使用 Oracle 11g 的快速版设置了一个 db_link,并使用刷新将一些更重要的查询重写为物化视图:指定设置以每小时重新运行查询,这对于我们的目的来说已经足够了。到目前为止一切都很好。

我注意到一些 MV 会停止刷新,背后没有真正的模式。进一步调查,它不时发现外部数据库(我们通过 db_link 连接的那个)不时完成查询,刷新过程耐心等待事件“SQL*Net more data”从 dblink' 无限期地。

这是我运行的查询,以获取有关卡住的刷新会话和似乎卡住刷新语句的三个会话的数据:

因此,我认为我的问题是“关于脚本的任何建议,该脚本将定期(例如,每小时)扫描事件类型“来自 dblink 的更多数据”的卡住会话并终止它们?对我来说,期望的行为是这种刷新更有弹性——如果超时,我希望它重新开始并尝试,再试一次......

我不认为弄清楚为什么外部数据库停止执行这些查询会很有成效——提供者提供了选择权限,但很清楚不想支持/解决出现的任何问题。

我在 sqlnet.ora 文件中阅读了有关设置 idle_time 和更改设置 SQLNET.EXPIRE_TIME 的信息 - 但我不认为这是正确的方法,因为连接不是空闲的,它们是活动的但无限期等待,以及这些会话由数据库本身发起的复杂因素。

如何使此刷新更具弹性/自动终止这些等待已久的刷新?

0 投票
1 回答
1446 浏览

plsql - 在 MAterialized 视图中使用 ExtractValue 和 XMLType

我正在尝试创建一个物化视图,该视图将在表中包含 XML 数据的表格视图。我也希望使用自动刷新选项来确保 MV 始终是最新的。

一些背景:Oracle 10.2

表定义:

扩展数据示例:

我在表上创建了一个日志:

然后我尝试创建以下 MV:

但收到以下消息:

我看到另一篇文章建议使用函数从 XML 中提取值,但这也不起作用:

但以下语句失败:

??

欢迎任何指导,我可能在这里使用了错误的工具集。

谢谢