预计算MV基表为远程表的快速刷新-测试
来源:互联网 发布:打字软件赚钱平台 编辑:程序博客网 时间:2024/04/30 04:18
在 复制MV快速刷新限制-测试 中
测试:用于复制功能的物化视图作为预计算物化视图的基表,会导致预计算物化视图无法快速刷新。
是为了解除对以下问题的疑惑:
理解为什么这么做?在远程库中准备好数据然后刷到本地库中,在以上例子中,在oralife准备数据刷到remoteor下。
今天在去同学家的路上,由以上的疑惑想到这么个问题:在我们本地库(remoteor)创建预计算MV,使用的基表为远程表(dblink)时,是否可以建立快速刷新的MV?
如果以上的问题可以解决,就会省去 在远程库中准备好数据 这一步骤。
测试,紧接上一篇 复制MV快速刷新限制-测试
C:\Windows\system32>sqlplus rem/rem@remoteorSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 1月 14 21:15:11 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options--删除这些无用的复制物化视图信息。SQL> DROP MATERIALIZED VIEW LOG ON DIM_A;实体化视图日志已删除。SQL> DROP MATERIALIZED VIEW LOG ON DIM_B;实体化视图日志已删除。SQL> DROP MATERIALIZED VIEW LOG ON FACT;实体化视图日志已删除。SQL> DROP MATERIALIZED VIEW DIM_A;实体化视图已删除。SQL> DROP MATERIALIZED VIEW DIM_b;实体化视图已删除。SQL> DROP MATERIALIZED VIEW FACT;实体化视图已删除。SQL> drop MATERIALIZED VIEW MV_FACT;实体化视图已删除。--由以下可知,预计算MV,当基表为远程表(dblink)时,可以建立快速刷新的MV。SQL> CREATE MATERIALIZED VIEW MV_FACT REFRESH FAST AS 2 SELECT F.ROWID F_ROWID, A.ROWID A_ROWID, B.ROWID B_ROWID, F.ID, 3 A.NAME A_NAME, B.NAME B_NAME, NUM 4 FROM FACT@lau.oralife.cn F, DIM_A@lau.oralife.cn A, DIM_B@lau.oralife.cn B 5 WHERE F.AID = A.ID 6 AND F.BID = B.ID;实体化视图已创建。SQL> truncate table MV_CAPABILITIES_TABLE;表被截断。SQL> BEGIN 2 DBMS_MVIEW.EXPLAIN_MVIEW('SELECT F.ROWID F_ROWID, A.ROWID A_ROWID, B.ROWID B_ROWID, F.ID, 3 A.NAME A_NAME, B.NAME B_NAME, NUM 4 FROM FACT@lau.oralife.cn F, DIM_A@lau.oralife.cn A, DIM_B@lau.oralife.cn B 5 WHERE F.AID = A.ID 6 AND F.BID = B.ID'); 7 END; 8 /PL/SQL 过程已成功完成。SQL> SELECT CAPABILITY_NAME, POSSIBLE, MSGTXT 2 FROM MV_CAPABILITIES_TABLE 3 WHERE CAPABILITY_NAME LIKE 'REFRESH%';CAPABILITY_NAME P MSGTXT------------------------------ - ----------------------------------------REFRESH_COMPLETE YREFRESH_FAST YREFRESH_FAST_AFTER_INSERT YREFRESH_FAST_AFTER_ONETAB_DML YREFRESH_FAST_AFTER_ANY_DML YREFRESH_FAST_PCT N PCT 不可能在实体化视图中的任何从表上已选择6行。SQL> SELECT COUNT(*) FROM MV_FACT; COUNT(*)---------- 6
由以上可知,预计算MV,当基表为远程表(dblink)时,可以建立快速刷新的MV。这只是一个连接型的预计算MV,至于其它类型的预计算MV另行测试。
这篇文章提供了另一种此种情况下的方案:
http://yangtingkun.itpub.net/post/468/207878
其实,http://yangtingkun.itpub.net有很多好文章。
- 预计算MV基表为远程表的快速刷新-测试
- 复制MV快速刷新限制-测试
- 基于预计算和后校正的通用处理器快速正反精确DCT算法
- ngnix hash的两个关键 : 预计算hash的元素个数 和 通配符存在时的建表
- 快照库MV不能成功刷新问题的解决
- 无法预计的未来
- 预计算优化
- 物化视图的快速刷新
- 物化视图的快速刷新
- 物化视图的快速刷新
- 物化视图的快速刷新
- 项目已经进入最后的整合测试阶段,预计3月的客户就会自己部署,测试了!
- 把rm替换为mv
- 预计外的开发需求
- sql预计的执行顺序
- 在VB中,快速为表的一列生成序号
- UE3 预计算可见性
- 快速刷新多表连接聚集物化视图
- Windows 7 SP1无法安装oracle10g 11g的解决办法
- 存储和数据研究领域研究调研
- CentOS5下SQLPlus方向键无法使用
- onbeforeunload与a标签在IE中的冲突bug
- TROUBLE SHOOTING: OWSM PolicyManagerException: WSM-02120 [Possible Cause : Destination unreachable]
- 预计算MV基表为远程表的快速刷新-测试
- Shell 脚本1 -- 查看今天更新/创建的文件
- Django 模板-过滤器
- visual studio 2005 CPU占用率100%的修复补丁,
- Matlab 根据坐标在图中画图
- 关于Solaris的一些小技巧 .
- .Net环境下的缓存技术介绍
- JDK1.5的一些新特性
- linux下的C语言开发(AT&T 汇编语言)