暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 如何使用同义词重新指向表

askTom 2017-04-04
322

问题描述

嗨,

我使用的是10g,而不是重命名表来交换数据加载的最新结果。相反,这不是创建为表,而是物化视图。我们如何从实体化视图中交换最新结果,但不中断现有MV记录,因为这些记录被用作报告目的。在10g中,没有像不合适这样的功能。

我的报告指向MV1,并且此MV1不能使用atomic_refresh = false,因为此截断可能导致用户无法看到数据。
请指教。

谢谢。


专家解答

我从你的问题文本中推断

a) 您无法进行原子刷新 (即delete-insert),因为它太贵/太慢,并且

b) 您不能进行非原子刷新 (即truncate-insert),因为它可能会破坏报告

在这种情况下,也许你需要两个mviews。用法将是:

初始构建
======
-创建mview MV_COPY1
-创建mview MV_COPY2
-为MV_COPY1创建或替换同义词MV1

Refesh 1
=
-MV_COPY2的非原子刷新
-为MV_COPY2创建或替换同义词MV1

Refesh 2
=
-MV_COPY1的非原子刷新
-为MV_COPY1创建或替换同义词MV1

Refesh 3
=
-MV_COPY2的非原子刷新
-为MV_COPY2创建或替换同义词MV1


等等


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论