分享

58 (转)dblink+物化视图同步两个数据库的表数据

 jyhjun 2014-03-21

dblink+物化视图同步两个数据库的表数据

 

主从库都有download用户

注意:

 

如果是在一个库里做物化视图,

 

那么要将查询日志的权限给目标表的用户

 

一、配置tnsnames.ora文件

指定到主数据库的网络名,这里是db005

 

二、在从数据库上创建dblink

1.给download用户授予创建dblink的权利

grant create database link to download;

 

 

2.创建dblink

conn download/xx

 

create database link link_db005_download connect to download identified by xxx using 'db005';

 

 

3.测试db-link是否成功

 

select table_name from user_tables@link_db005_download;

 

返回的行数与在master表的查询结果一样

 

三、在主数据库的表上创建物化视图日志,这个日志记录了主表的变化。

1.这里的主表名字是test

SQL> create materialized view log on test;

 

2.查看物化视图日志中记录的住表改变行数

select count(*) from MLOG$_TEST;

 

四、从数据库上创建物化视图

1.给用户download授予create materialized view权限。

 

grant create materialized view to download;

 

2.创建物化视图

create materialized view test refresh fast with primary key start with sysdate next sysdate+2/1440 as select * from;

----

这里用的是fast自动更新,fast只更新主表变化的行;

with sysdate next sysdate+2/1440 --表示2分钟更新一次

----

3.测试

在主表中insert或者update数据,看物化视图日志中是否记录变化,然后再看到了刷新时间后,主从表的数据是否同步。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多