MATERIALIZED VIEW

Oracle的物化视图增量刷新机制定时将数据库A上的某个表的数据同步到另一个数据库B上

首先在数据库A上确认该表有主键,然后建立在这个表上建立物化视图日志如

“CREATE MATERIALIZED VIEW LOG ON
T_tablename;”

再到数据库B上创建数据库链接和快速刷新的物化视图如“

create materialized view mv_tablename refresh
fast on demand start with sysdate next sysdate+1/288 as select * from
[email protected]_name;”

然后赋权

grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC
DATABASE LINK to scott;

grant CREATE MATERIALIZED VIEW to
scott;

eg.

库A

--scott_a

create table T_MV_TEST ( A DATE, B DATE,
C DATE );

alter table T_MV_TEST

add constraint PK_T_MV_TEST primary key (A,B);

CREATE MATERIALIZED VIEW LOG ON
T_MV_TEST ;

但是这个日志表只能捕获到主键字段的删除和增加操作,如果非主键字段值发生改变,则不会同步过去

库B

--scott_b

在数据库B上创建定时增量更新的物化视图,方法如下:

-- Drop existing database link

drop public database link
connA;

-- Create database link

create public database
link connA

connect to connA

using ‘(DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))    
  (CONNECT_DATA = (SERVER = DEDICATED)  (SERVICE_NAME =
orcl)    )  )‘;

这是增量更新机制的物化视图的最简单的创建方法,定时检查数据库A上此表的主键字段的删除和插入操作而将变化的记录同步到另一个数据库B中

create materialized view T_MV_TEST 
REFRESH fast on demand   START with sysdate next
sysdate+1/1440

AS  SELECT * from
 [email protected]

select *
from T_MV_TEST

MATERIALIZED VIEW

时间: 2024-10-10 18:58:46

MATERIALIZED VIEW的相关文章

Oracle Materialized View refresh

简述 Materialized views - 物化视图 - 简称 MV,是已经被存储的或者说被物化-'materialized' 成 schema对象的查询结果.其中查询的 'From' 子句可以给 table, view 和 materialized view命名.这些用来建立 MV的对象都可以被称为 主表-master tables (a replication term) 或者 具体表-detail tables (a data warehousing term). Refresh Pr

TimesTen与Materialized View(物化视图)

今天和用户交流,用户突然问到,TimesTen可否缓存多个Oracle的表,也即将多个表Join的结果缓存? 我们先做几个实验,然后再看有什么解决方法. TimesTen数据库对于物化视图的支持 先建立基础表和 Materialized View. CREATE TABLE customer(custId int not null, custName varchar(100) not null, Addr varchar(100), Zip int, Region varchar(10), PR

Oracle数据库零散知识07 -- Materialized view(转)

物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处.1.物化视图的类型:ON DEMAND.ON COMMIT 二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性:而ON COMMIT是说,一旦基表有了CO

通过案例学调优之--跨库建立物化视图(Materialized View)

应用环境: 操作系统: RedHat EL55 Oracle:   Oracle 10gR2 一.物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果.物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能:物化视图对应用透明

Materialized View模式

Materialized-View模式是在要求数据格式不利于查询操作的情况下,根据多个数据仓库的数据生成预生成的视图的一种模式.这种模式可以帮助支持高效的查询和数据提取,提高应用程序的性能. 问题 在存储数据时,开发人员和数据管理员考虑的第一优先级通常集中在如何存储数据,而不是如何读取数据.所选择的存储格式通常与数据的格式.管理数据大小和数据完整性的要求,以及存储的类型密切相关.例如,使用NoSQL存储文档时,数据通常被表示为多个元素的聚合结构,其中包含了所有的实体的信息. 然而,这可能会对查询

权限不足When Creating a Materialized View Log

The privileges required to create a materialized view log are directly related to the privileges necessary to create the underlying objects associated witha materialized view log. If you own the master table, you can create an associated materialized

Postgresql - MATERIALIZED VIEW

MATERIALIZED VIEWPG 9.3 版本之后开始支持物化视图.View 视图:虚拟,不存在实际的数据,在查询视图的时候其实是对视图内的表进行查询操作. 物化视图:实际存在,将数据存成一张表,查询的时候对这个表进行操作.物化视图内的数据需要和表的数据进行同步,这就是refresh. 实验环境:CentOS 7PG 10.4 操作实验: 初始化环境:创建表,并插入数据mytest=# create table t1 (id int ,col1 varchar(10),col2 varch

[Oracle][Performance]善用Materialized View提高查询性能#3 Query Rewrite

早期无query rewrite技术,DBACreate中继table提高前端查询性能,但前端程序也需要修改相关Sql statement(牵一发动全身) 可说相当麻烦,如果需求量少倒还好,但量大的话我想DBA这工作应该没人会想做的(事多钱少责任大~> 这篇就来看看Oracle query rewriete技术所带来的改善(MSSQL2005/2008也有应用) 文章均为自己见解,如有错误还请指教 Overview 当现有的Materialized views被用来满足请求时,查询优化器可以自动

PLSQL_Material View物化视图的基本概念和用法(概念)

2014-06-08 BaoXinjian 1. 用法 物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表. 物化视图存储基于远程表的数据,也可以称为快照.对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的. 如果你想修改本地副本,必须用高级复制的功能.当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取. 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图. 实现两个数据库之间的数据同步,可以存在时