Oracle数据分发——基于物化视图
本文档分为三大章节,依次从目的,如何部署,相关特性方面介绍。
Why?
高效实现数据分发, 是很多企业的需求。使用物化视图主要有三点好处。一是速度快,二是网络资源消耗低,三是去中心化,高可用性,对单点失败抵抗力高。
速度快,是因为使用物化视图是通过数据库日志来更新,日志更新时不需要执行事务,所以对目标库来说,资源消耗更低。
网络资源消耗低是因为日志更新是只考虑增量的,当需要分发的数据量很大时,日志中也只会记录被DML语句修改的增量数据。
去中心化,高可用性,是因为目标库中物化视图中实际上存储了数据,在源库挂掉的情况下也不影响目标库对数据的使用。待源库恢复后,物化视图会继续刷新。
How?
下面以一个案例来演示物化视图实现数据分发。
属性 | 源库 | 目标库 |
---|---|---|
数据库服务名 | PROD | ERP |
DBLINK | 无 | TOPROD |
待分发数据的表 | product | 无 |
--源库
--用户名/密码 pdt/pdt
--权限 connect,resource,create materialized view
--配额 unlimited quota on users
--建表
create table product (pid number primary key
,pname varchar2(50) not null
,price number(10,2)) not null;
--初始化数据
insert into product values(1001,