一 目标
利用UTS实现数据库之间的同步
二 安装UTS
到官网下载UTS安装包,官网地址:http://www.uxsdata.com/,目前只看到windows版本
在官网下载的是使用版本,如果想使用正式版本,请联系UTS工作人,联系方式请到官网查询
安装UTS:将下载好的软件,安装时直接下一步、下一步即可
安装好以后,桌面会出现两个图标
图1
UTS Client Console是客户端程序,UTS Admin Console是服务端程序,这两个程序是用来配置和监控用的,服务端和客户端配置好了以后,这两个程序可以关闭,不影响数据库同步
在服务管理器里面会有一个叫“utsdaemon”的服务,该服务是用来进行数据库同步的,该服务不能停止,否则无法同步数据库
安装了UTS的机器,既可以作为UTS的客户端,也可以作为UTS的服务端,或者同时既是客户端也是服务端
用UTS同步数据库,有个前提是: 数据库中的数据表必须有一个这样的字段,就是有唯一标识一条记录,并且以递增的方式增长的数值字段
备注:对于MSSQL直接用其timestamp类型的字段就可以满足要求, 但是对于 Oracle, MySQL等这些没有这个概念的数据库, 需要自己手动去建立一个类似的机制, 比如: 对于Oracle可以建立NUMBER(20,0)类型的列, 通过序列和触发器来模拟自动更新时间戳列。每张表中都必须有一个这样的字段,没有该字段的表是无法同步的
三 案例
假设现在有两个数据库,一个为数据库A(源数据库,ip:10.86.165.108),一个为数据库B(目标数据库,ip:10.86.165.106),现在要把数据库A中的数据同步到数据库B中,请问如何配置UTS,实现数据库同步呢?
数据库同步时,数据的流动方向示意图
图2
假设UTS安装到数据库A所在的机器上了
四 服务端配置
启动 UTS Admin Console,界面如下:
图3
数据库同步,用到的是 两个选项,其中【1】标识的是服务端配置,【2】标识的是客户端配置(备注:客户端配置既可以在这里配置,也可以在 UTS Client Console 中配置)
切换到 选项卡,界面如下
图4
1 账号信息
单击图4箭头a指向的选项卡,再单击箭头b指向的按钮,打开【数据库传输用户权限设置】窗口,界面如下
图5
登录账号:自定义,客户端配置时要用到该字段
用户名称:自定义
登陆密码:自定义,客户端配置时要用到该字段
其它字段保持默认即可
2 常规设置
切换到【常规设置】界面
图6
账号类别:选择【数据库下载】
数据库类型:选择【MS SQL Server(7.0/2000/2005)】
数据库地址:源数据库服务器(即:数据库A)所在机器的ip。如果UTS和源数据库在同一
台机器上,则可以填127.0.0.1
数据库名称:要同步的数据库名称
登录账号:连接源数据库的登录名
账号密码:连接源数据库的登录密码
所有者:可以不填
标识字段:数据库中唯一标识一条记录,并且以递增的方式增长的数值字段(非常重要,弄错了,无法同步数据库)
3 扩展属性
暂不设置
4 传输列表
首次进来时,可能什么都没有,因为还没有和数据库建立连接,不着急,先单击左下角的确定按钮保持,然后会看到如下效果,多处一条记录
图7
双击新增的记录,如果数据库没有配置好,此时会弹出数据库连接失败的信息,那么需要重新修改数据库的连接信息。如果数据库连接正常,不会有任何提示信息弹出,这时直接切换到【传输列表】,会看到显示的内容就是数据库中内容
图8
勾选需要同步的数据表,这里只同步book和student两张数据表(注意:这两张表中包含有标识字段的,满足数据同步的前提条件)
备注:每张表格,还可以选择同步指定的列,操作方法如下:
双击需要设置同步列的表格,打开【下载详细设置】窗口,如下图所示
图9
在【客户下载字段】单选框中,选择【所有字段】,那么会同步表中的所有字段,选择【设定以下字段】,然后从下面的表格中选择需要同步的字段,然后单击确定,关闭【客户下载字段】窗口(该界面中的其它字段设置,不做介绍)
5 IP访问规则
暂不设置
6 网络限速
暂不设置
7 网卡绑定
暂不设置
8 传输周期
暂不设置
9 文本字段内容替换
暂不设置
10 E-MAIL通知
暂不设置
单击【数据库传输用户权限设置】窗口的左下角【确定】按钮,完成服务端的设置
五 配置客户端
配置客户端有两种方法,下面分别介绍这两种方法的配置
方法1
在服务端的【数据库同步传输】选项卡中配置
在左侧界面,切换到【数据库同步传输】,然后再右侧界面,切换到【传输项目设置】选项卡
图10
1 账号信息
单击【新建设置】按钮,弹出如下界面
图11
项目名称:自定义
登录账号:在服务端配置的账号
登录密码:在服务端配置的密码
操作类型:选择【自动同步下载】
2 数据库连接
图12
数据库类型:选择【MS SQL Server(7.0/2000/2005)】
数据库地址:选择目标数据库(即:数据库B)的ip地址
数据库名称:选择目标数据库的名称。可以和源数据库(数据库A)的名称不一样,也可以相同
登录账号/账号密码:目标数据库的登录账号
备注:数据库的信息配置完成后,可以单击【连接测试】按钮,测试是否能连接到数据库
3 扩展属性
暂不设置
4 网络设置
图13
在【socket连接】输入框中输入UTS服务器所在机器ip(如果UTS客户端和UTS服务器属于同一台机器,也可以填127.0.0.1)
备注:
a、socket连接支持域名配置。例如:alpha.atrader.com.cn
b、UTS服务器默认端口号时9981,如果更UTS改了默认监听端口(假如更改为:9974),那么填写服务器地址格式为:10.86.165.108:9974
5 传输列表
暂不设置
6 传输周期设置
切换到【传输周期设置】,界面如下
图14
单击【新增周期】,界面如下
图15
按照字面意思,进行设置。这里设置每天从【00:00:00】到【23:59:59】,每隔5分钟同步一次,设置完成后,单击确定,关闭【运行周期设置】窗口,配置好后,会在图14新增一条记录,效果如下
图16
7 网络限速
暂不设置
最后:单击左下角的【确定】按钮,关闭【数据库传输项目】设置窗口,至此所有客户端配置完成
到这里,客户端会每隔5分钟从源数据库(数据库A)中同步数据到目标数据库(数据库B)中
方法2
在 UTS Client Console 客户端程序中配置
启动 UTS Client Console 客户端,然后切换到【传输项目设置】选项卡
图17
按照上图标识的步骤,打开配置窗口,界面如下
图18
设置步骤,和方法1一样
六 案例同步结果
同步信息:注意上图8我只选择了同步两张表,所以这里指同步了两张表
数据库A(原数据库)中的内容:
数据库B(目标数据库)中的内容:
七 FAQ
1 如何同步多个数据库?
答:一个账号连接一个数据库(即:一个账号只同步一个数据库),如果要同步多个数据库,那么需要在服务端配置多个账号,然后在客户端配置相等数量的连接
2 UTS对同步数据库有个数限制吗?
答:同步数据库的个数没有限制
3、UTS服务的监听端口号是多少?如何更改监听端口号?
答:UTS的默认监听端口号是9981
服务端修改监听端口的方法为:
【系统监控】->【环境设置】->【socket侦听端口】
客户端修改连接端口的方法:
【系统设置】->【socket侦听端口】
4、客户端配置连接UTS服务端时,支持域名配置吗?
答:客户端支持以【域名】的形式配置服务器地址
5、出现下面这张图,双击local,没有任何反应,这是什么原因呢?
答:这是因为UTS服务没有开启,请到windows的【服务】控制台中,找到名为utsdaemon的服务,然后开启该服务,重启UTS Admin Console即可,当变成如下状态,就可以正常使用
备注:打开windows服务控制台的方法:
在cmd下输入命令:services.msc,回车即可
6、如何停止某个数据库的同步?如何停止所有数据库的同步?
答:问1:只需在客户端删除对应配置连接即可
问2:停止utsdaemon服务即可