博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Oracle维护工程师手记]两表结合的MVIEW的告诉刷新
阅读量:6177 次
发布时间:2019-06-21

本文共 1761 字,大约阅读时间需要 5 分钟。

对两表结合查询建立MVIEW,进行MVIEW的的高速刷新失败,如何处理?

例如:

SQL> drop user u1 cascade; User dropped. SQL> grant dba to u1 identified by u1; Grant succeeded. SQL> conn u1/u1 Connected. SQL> create table TAB001 (col1 integer primary key, col2 integer, val3 integer); Table created. SQL> create materialized view log on tab001; Materialized view log created. SQL> create table TAB002 (col1 integer primary key, col2 integer, val3 integer); Table created. SQL> SQL> create materialized view log on tab002; SQL> create materialized view mv001 as SELECT t1.col1 as t1c0l1, t1.col2 as t1col2, t2.col1 as t2col1, t2.col2 as t2col2 , t1.val3 as t1val3,t2.val3 as t2val3 FROM TAB001 t1 LEFT OUTER JOIN TAB001 t2 ON t1.col2 = t2.col2; Materialized view created. SQL> exec dbms_mview.refresh('MV001','F'); BEGIN dbms_mview.refresh('MV001','F'); END; * ERROR at line 1: ORA-12004: REFRESH FAST cannot be used for materialized view "U1"."MV001" ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2809 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 3025 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2994 ORA-06512: at line 1 SQL>

 

此时,可以考虑换用 ROWID 类型的 MVIEW LOG,重新来执行一次:

create table TAB001 (col1 integer primary key, col2 integer, val3 integer); alter table tab001 add constraint con_t1_col2 unique(col2); CREATE MATERIALIZED VIEW LOG ON tab001 WITH ROWID; create table TAB002 (col1 integer primary key, col2 integer, val3 integer); CREATE MATERIALIZED VIEW LOG ON tab002 WITH ROWID; CREATE MATERIALIZED VIEW MV055  BUILD IMMEDIATE  REFRESH FAST  AS select  /*+ use_hash(a,b) */     a.rowid aid, b.rowid bid, a.col1, b.val3     from tab001 a, tab002 b     where a.col2 = b.col2(+); exec dbms_mview.refresh('MV055','F'); SQL> exec dbms_mview.refresh('MV055','F'); PL/SQL procedure successfully completed. SQL>

 

可以看到,已经成功。

转载地址:http://xuzda.baihongyu.com/

你可能感兴趣的文章
2.UIView+category
查看>>
Android ImageLoader使用
查看>>
LDTP
查看>>
StringUtils工具类的常用方法
查看>>
linux下VNC安装与配置
查看>>
URL编码
查看>>
光模块及光纤知识(含分类,常用类型介绍)
查看>>
Apache 单IP多端口设置
查看>>
安装系统前的准备---vmware
查看>>
Tiny并行计算框架之使用介绍
查看>>
Linux od命令
查看>>
一个不错的MySQL集群管理工具
查看>>
mysql-proxy 按表分发查询的lua脚本
查看>>
在wordpress主题下面添加二级菜单
查看>>
CentOS 下JDK安装
查看>>
Nginx + Django
查看>>
我的友情链接
查看>>
用shell脚本编写进度条
查看>>
使用Live555类库实现的网络直播系统
查看>>
IO与NIO
查看>>