物化视图和dbms_refresh

本文介绍了Oracle数据库中物化视图的创建及管理方法,包括如何使用dbms_refresh包进行刷新组的添加,并强调了提交操作的重要性。此外,还列举了用于查询物化视图及其刷新组的相关数据字典。
部署运行你感兴趣的模型镜像

物化视图,旧称快照,其内容可以周期的刷新.可以更好的帮助我们管理远程


materilized view in oracle

该文档中有一点需要提及: 创建物化视图以及使用 dbms_refresh.make() 添加刷新组和 dbms_refresh.add 添加物化视图时,  

所有的dbms_refresh包中语句皆为为 dml操作, 因此 要确保

提交语句 commit,  刷新组才算添加成功.


查看刷新组以及所包含的物化视图的数据字典包括:

*_refresh

*_refresh_children

dba_rgroup -- dba_refresh

dba_rchild   -- dba_refresh_children

etc...

物化视图 相关数据字典包括:

*_mview

*_mview_refresh_time

etc...

相关链接: Materialized View and Refresh Group Views

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

ORACLE 11G中,`DBMS_MVIEW.REFRESH` 用于刷新物化视图。下面详细介绍其使用方法: ### 基本语法 `DBMS_MVIEW.REFRESH` 有多种重载形式,常见的基本语法如下: ```sql DBMS_MVIEW.REFRESH ( list IN VARCHAR2, method IN VARCHAR2 DEFAULT 'C', rollback_seg IN VARCHAR2 DEFAULT NULL, push_deferred_rpc IN BOOLEAN DEFAULT TRUE, refresh_after_errors IN BOOLEAN DEFAULT FALSE, purge_option IN NUMBER DEFAULT 1, parallelism IN BINARY_INTEGER DEFAULT 0, heap_size IN BINARY_INTEGER DEFAULT 0 ); ``` ### 参数说明 - **list**:要刷新的物化视图列表,可以是单个物化视图名,也可以是多个用逗号分隔的物化视图名,如 `'MV_ORG_BASEINFO,MV_ORG_MOREINFO'`。 - **method**:刷新方法,常见取值如下: - `'C'`:完全刷新,重新计算整个物化视图。 - `'F'`:快速刷新,只刷新自上次刷新以来发生变化的数据,前提是物化视图支持快速刷新。 - `'?'`:根据物化视图的定义自动选择合适的刷新方法。 - **rollback_seg**:指定用于刷新操作的回滚段,默认值为 `NULL`。 - **push_deferred_rpc**:是否将延迟的远程过程调用(RPC)推送到刷新操作中,默认值为 `TRUE`。 - **refresh_after_errors**:是否在出现错误后继续刷新,默认值为 `FALSE`。 - **purge_option**:指定刷新后如何处理错误队列,默认值为 `1`。 - **parallelism**:指定刷新操作的并行度,默认值为 `0` 表示不使用并行。 - **heap_size**:指定刷新操作使用的堆大小,默认值为 `0`。 ### 使用示例 #### 单个物化视图的完全刷新 ```sql BEGIN DBMS_MVIEW.REFRESH('MV_ORG_BASEINFO', 'C'); END; / ``` #### 多个物化视图的快速刷新 ```sql BEGIN DBMS_MVIEW.REFRESH('MV_ORG_BASEINFO,MV_ORG_MOREINFO', 'F'); END; / ``` #### 结合 `DBMS_JOB` 进行定时刷新 ```sql DECLARE job_id NUMBER; BEGIN DBMS_JOB.submit( job => job_id, what => 'BEGIN DBMS_MVIEW.REFRESH(''MV_ORG_BASEINFO'',''F''); DBMS_MVIEW.REFRESH(''MV_ORG_MOREINFO'',''F''); END;', next_date => SYSDATE, interval => 'SYSDATE + 10.0/(60*60*24)' ); COMMIT; END; / ``` ### 注意事项 - 快速刷新需要物化视图支持,并且需要正确配置日志依赖关系。 - 刷新操作可能会消耗大量系统资源,尤其是完全刷新,应在合适的时间进行。 - 对于分布式环境,需要考虑网络延迟数据一致性问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值