探讨实体化视图的刷新机制

今天给客户搭建历史查询服务器,用oracle8i的snapshot实现,也就是9i的实体化视图。 顺手做了一下trace,看了一下刷新时候oracle后台是怎么工作的。 前期准备,使用DBMS_SUPPORT包,这个包默认是没有安装的,需要运行下面的命令来手动安装。 SQL>conn / as sysdba SQL>@?\rdbms\admin\dbmssupp.sql SQL>GRANT execute ON dbms_support TO kamus; SQL>CREATE PUBLIC SYNONYM dbms_support FOR dbms_support; 先看快速刷新,测试表是T1,创建了快照日志,用于刷新的视图是MV_T1,用户是KAMUS 执行trace: SQL>conn kamus SQL>exec dbms_support.start_trace(waits=>TRUE,binds=>TRUE); SQL>exec dbms_mview.refresh(list => 'MV_T1');…

Continue Reading探讨实体化视图的刷新机制

最简单的创建复制环境中只读实体化视图站点的方法

目的:创建一个实体化视图站点,定时刷新,获取主站点中指定表的变化,这个实体化站点可以作为查询服务器使用 步骤: 1。主站点上创建实体化视图日志表 CREATE MATERIALIZED VIEW LOG ON kamus.account2004; 2。实体化视图站点上创建公用数据库链接 conn system/password CREATE PUBLIC DATABASE LINK orcl using 'ORCL'; 3。实体化视图站点上创建刷新组,本例中3分钟刷新一次 conn system/password BEGIN DBMS_REFRESH.MAKE ( name => 'kamus.test_repg', list =>…

Continue Reading最简单的创建复制环境中只读实体化视图站点的方法