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

Oracle 12c 如何使用Staging Logs进行 Synchronous Refresh

Oracle蓝莲花 2021-04-15
438

1.同步刷新的显着特征是对表及其物化视图的更改将一起加载和刷新,因此名称为同步刷新。

1.1在典型的数据仓库中,数据准备包括从一个或多个源中提取数据,清理和格式化以保持一致性,以及转换为数据仓库模式。数据准备区域称为暂存区域,

   数据仓库中的基表从暂存区域中的表中加载。同步刷新方法适用于此模型,因为它允许您将更改数据加载到暂存日志中。


1.2以下会话显示如何设置基表和mv以进行同步刷新,创建和填充Staging Logs以及使用sync-refresh

刷新组的操作。同步刷新目录视图包含在QUERY部分的方法。


1.3大致的步骤如下显示:


1.3.1为了通过同步刷新来维护表和MV,需要为其注册对象。


1.3.2在为其创建Staging Logs并使用REGISTER_MVIEWS过程注册MV时,会为同步刷新注册表。


1.3.3注册mview for Synchronous Refresh会隐式创建一组称为同步刷新组的相关对象。


1.3.4然后将更改数据加载到暂存日志中。


1.3.5接下来是准备分段日志。如果检测到错误,则会在异常表USER_SR_STLOG_EXCEPTIONS中捕获它们。


1.3.6然后准备刷新。这可能是一个长时间运行的操作,因为它准备并加载外部表


1.3.7最后进行同步刷新。

---------------分割线----------------

2.创建测试表然后插入数据;

---------------分割线----------------

3.创建和填充Staging

---------------分割线----------------

4.创建物化视图:

---------------分割线----------------

5.注册物化视图:

---------------分割线----------------

6.查询:显示组中已注册的对象

---------------分割线----------------

7.将更改的数据插入到Staging Logs

---------------分割线----------------

8.开始准备Staging Logs

---------------分割线----------------

9.查询:检查准备后的暂存日志状态

---------------分割线----------------

10.:查询:在刷新之前显示基本表内容

---------------分割线----------------

11.开始同步刷新:

---------------分割线----------------

12.查询:prepare_refresh后显示对象状态

---------------分割线----------------

13.查询:检查组中对象的状态

---------------分割线----------------

14.查询:在prepare_refresh之后检查组本身的状态。注意操作字段设置为准备,状态完成

---------------分割线----------------

15.执行同步刷新

---------------分割线----------------

16.查询:显示execute_refresh后对象的状态。更改数据已通过refresh处理,因此没有行

---------------分割线----------------

17.查询:检查组中对象的状态

---------------分割线----------------

18.查询:在execute_refresh之后检查组本身的状态。注意,操作字段设置为执行,状态完成。



<点亮梦想.拒绝平庸>

600团队(QQ群:851604218)


文章转载自Oracle蓝莲花,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论