« DataSync之物化视图日志助手 »
Tools » http://www.anysql.net/tools/datasync-mview-log-creation.html 2010-04-10已有网友开始测试DataSync了, 先期在20张表上做测试, 这个测试是在正合场合使用的, 将运行在小型机上的数据准实时地拷到报表数据库中, 以分担小型机上的查询压力, 目前运行良好. 客户在享受到体验后, 要求另一个用户的几百张表, 也这样处理, 比较忙的表并不多, DataSync应当可以完成同步的任务, 但准备工作却不轻, 目前的源库的数据量有30GB.
为了解决这个问题, 推出了物化视图助手程序(mviewlog), 可以生成准备工作中所需的脚本. 使用方法如下:
D:\>mviewlog
DataSync: Oracle Data Replication Utility, Release 3.0.1
(c) Copyright Lou Fangxin (AnySQL.net) 2010, all rights reserved.Usage: mviewlog user/pass@tns
以Oracle的SCOTT用户为例, 第一次运行时, 给出了生成物化视图日志的语句, 主要针对还没有建物化视图的并且有主键定义的表.
# Tables can be replicated by datasync:
CREATE MATERIALIZED VIEW LOG ON EMP WITH SEQUENCE, PRIMARY KEY;
CREATE MATERIALIZED VIEW LOG ON DEPT WITH SEQUENCE, PRIMARY KEY;
建好物化视图日志后, 再运行一次, 就得到了其他所有的准备脚本.
# Log tables without proper index:
CREATE INDEX I_OG$_DEPT_IND ON MLOG$_DEPT (SEQUENCE$$) ONLINE;
CREATE INDEX I_OG$_EMP_IND ON MLOG$_EMP (SEQUENCE$$) ONLINE;# Configuration file example of datasync utility:
DEPT # DEPTNO # MLOG$_DEPT # DEPT
EMP # EMPNO # MLOG$_EMP # EMP# Command for datacopy utility:
datacopy user1=scott/tiger user2=<user2> table=DEPT
datacopy user1=scott/tiger user2=<user2> table=EMP
这三部份内容分别为: 为日志表建立索引的SQL语句, DataSync的配置文件内容, 及DataCopy初始化数据的命令. 使用DataSync同步数据的步骤为, 首先在源库上建立物化视图日志, 其次为建立特化日志表的索引, 第三步使用DataCopy从源库初始化数据到目标库(表结构需要自行建立), 最后一步是使用DataSync进行增量同步.
虽然有Shareplex及Golden Gate可以选择, 并且它们很先进, 但如果源库的写压力不是很高, 并且不想用牛刀来搞复制, 可以试试DataSync, AnySQL一直努力为DBA创造使用方便的工具及脚本.


Recent Comments