Oracle的实体化视图(MVIEW)的深入研究之二

原创 2007年09月14日 09:32:00
Oracle的实体化视图(MVIEW)的深入研究之二     CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

Oracle的实体化视图(MVIEW)的深入研究之二

转:http://www.anysql.net/oracle/reorg_master_table.html

当在一个表上建了物化视图的日志(Materialized View Log)后, 所有的DML操作都会被相应地记录到物化视图日志表(MLOG$_)中, 如果想对这个表进行操作, 但不想这些操作被记录到日志(MVIEW LOG)中, 应当怎么办呢? 在DBMS_MVIEW包中有两个过程可以用来完成这个要求. 这里我们需要打开两个会话, 其中一个会话以DBA的身份登陆(Session DBA), 另一个会话随便了(Session USER), 按如下次序来进行操作:

    在Session USER中先运行以下语句去看一下MVIEW LOG表中有多少条记录:

SQL> SELECT count(*) FROM MLOG$_T_REORG;

  COUNT(*)
----------
         0

    在Session DBA中运行BEGIN_TABLE_REORGANIZATION过程开始维护, 记得执行完后要运行COMMIT命令, 否则会阻塞(Block)别的进程:

SQL> exec dbms_mview.begin_table_reorganization('ANYSQL','T_REORG');

PL/SQL procedure successfully completed.

    在Session USER中先运行DML直接修改表的数据, 提交后看一下MVIEW LOG表中的记录有没有增加:

SQL> insert into t_reorg select * from tab;

13 rows created.

SQL> COMMIT;

Commit complete.

SQL> SELECT count(*) FROM MLOG$_T_REORG;

  COUNT(*)
----------
         0

    在Session DBA中运行END_TABLE_REORGANIZATION过程结束维护, 记得执行完后要运行COMMIT命令, 否则会阻塞(Block)别的进程:

SQL> exec dbms_mview.end_table_reorganization('ANYSQL','T_REORG');

PL/SQL procedure successfully completed.

    在Session USER中先运行一些DML语句, 检查一下MVIEW LOG表中的记录数是不是增多了:

SQL> delete t_reorg;

13 rows deleted.

SQL> commit;

Commit complete.

SQL> SELECT count(*) FROM MLOG$_T_REORG;

  COUNT(*)
----------
        13

    在这儿说了一大堆, 其实是如何让表不生成实体化视图日志的问题.  

物化视图日志异常的处理

 搭建使用rowid 创建物化视图 实现快速更新的环境: 创建用户a, b grant CONNECT to A; grant RESOURCE to A; grant CONNEC...
  • kevin_LCC
  • kevin_LCC
  • 2015年06月22日 02:03
  • 1300

oracle 上的实体化视图日志比上次刷新后的内容新 解决方案

016-09-27 14:36:09,802 ERROR [500.jsp] - Could not commit JDBC transaction; nested exception is java...
  • chenyongtu110
  • chenyongtu110
  • 2016年09月27日 15:57
  • 1702

oracle闪回表详解

闪回表:注意事项 · 整个FLASHBACK TABLE 语句是在一个事务处理中执行的。有可能会闪回所指定表,也可能不闪回任何指定表。 · 操作进行中,闪回表获取了该语句指定的所有表上的数据操作语...
  • wanghui5767260
  • wanghui5767260
  • 2014年03月12日 14:12
  • 1379

云计算设计模式(十四)——实体化视图模式

云计算设计模式(十四)——实体化视图模式 产生过在一个或多个数据存储中的数据预填充的观点时,数据被格式化以不利于所需的查询操作的一种方式。这种模式可以帮助支持高效的查询和提取数据,并提高应用程序的性能...
  • yangzhenping
  • yangzhenping
  • 2014年11月06日 15:42
  • 1861

Oracle普通视图和实体化视图比较

OraclOracle普通视图和实体化视图比较   相对于普通的视图来说,实体化视图的不同之处在于实体化视图管理存储数据,占据数据库的物理空间。实体化视图的结果会保存在一个普通的数据表中,...
  • YULAN1
  • YULAN1
  • 2014年08月25日 10:12
  • 481

oracle 物化视图 -循序渐进MView(三) 基于ROWID的MView

http://www.dbabeta.com/2009/mview_step_by_step_03.html 前言基于ROWID的MView 基于ROWID MView的创建基于ROWID MVi...
  • zuixinnet
  • zuixinnet
  • 2013年05月10日 12:20
  • 501

mysql实现物化视图详解及视图与物化视图区别

物化视图是相对于视图而言的,但是两者实际上并没有什么关系就如java/javaScript一样 首先mysql的视图不是一种物化视图,他相当于一个虚拟表,本身并不存储数据,当sql在操作视图时所有数据...
  • qq_34581118
  • qq_34581118
  • 2017年08月01日 11:07
  • 2271

物化视图MVIEW的使用

这是本人实践的经验总结,希望能帮到需要的人。
  • zhuzige521888
  • zhuzige521888
  • 2016年11月17日 11:34
  • 188

java总结(之二)--容器的深入研究

容器部分归纳为三篇来写,分别从基本用法,深入研究,以及在算法中的应用。本章主要介绍深入研究,具体实现部分。 上图是集合类库的完备图,包括抽象类和遗留构件。CollectionListList是...
  • u014773478
  • u014773478
  • 2015年07月02日 13:02
  • 741

Oracle 内联视图优化,视图合并的抉择

关于oracle中什么是内联视图(in-line view)? 内联视图就是from后面再套一个select的子查询,例如: select ename, job, dname, loc from ...
  • haiross
  • haiross
  • 2014年12月23日 13:51
  • 3986
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle的实体化视图(MVIEW)的深入研究之二
举报原因:
原因补充:

(最多只允许输入30个字)