首页 > 数据库 > mysql教程 > 物化视图实现 Oracle 数据库表双向同步

物化视图实现 Oracle 数据库表双向同步

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 17:22:44
原创
1202 人浏览过

Oracle 数据库跨库同步表有很多种方式可以实现, 比如触发器, Materialized View(MV), Stream, Goldengate 等。Materialized Vi

Oracle 数据库跨库同步表有很多种方式可以实现, 比如触发器, Materialized View(MV), Stream, Goldengate 等

Materialized View(物化视图)是包括一个查询结果的数据库对像, 它是远程数据的的本地副本, 或者用来生成基于数据表求和的汇总表. 物化视图存储基于远程表的数据, 也可以称为快照. 这个基本上就说出了物化视图的本质, 它是一组查询的结果, 这样势必为将来再次需要这组数据时大大提高查询性能.下面就介绍使用 Materialized View + Job 的方式来双向同步表,具体步骤如下:

1. 在源数据库 A 和目标数据库 B 上分别建立 table     

create table test 

    id varchar2(10) not null primary key, 
    name varchar2(20), 
    status varchar2(1), 
    updatedate date 

2. 在数据库上分别建立 dblink

create database link dblink_to_B 
connect to "userid" identified by "password" 
using '(DESCRIPTION = 
    (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = "ipaddress")(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
        (SERVICE_NAME = "SID") 
    ) 
)'; 
 
create database link dblink_to_A 
connect to "userid" identified by "password" 
using '(DESCRIPTION = 
    (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = "ipaddress")(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
        (SERVICE_NAME = "SID") 
    ) 
)'; 

3. 在源数据库 A 上建立 Materialized View 以及 Materialized view log

create materialized view log on test with rowid 
   
create materialized view mv_test refresh fast on demand with rowid 
as select * from test@dblink_to_B

linux

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
python - 关于 django和flask中基于类的视图?
来自于 1970-01-01 08:00:00
0
0
0
教你如何把thinkphp视图层级块分离
来自于 1970-01-01 08:00:00
0
0
0
视频中的素材在哪下载?图片等
来自于 1970-01-01 08:00:00
0
0
0
老师,视图和控制器问题?
来自于 1970-01-01 08:00:00
0
0
0
安装视图的时候,提示需要token
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板