Skip to content

数据库镜像功能

镜像原理

openPlant®实时数据库交叉备份功能,支持不同数据库间实时数据、历史数据和配置信息等备份,数据库备份支持1->1、1<->1、1->N、N->1,支持实时数据库双机热备相互备份。

镜像配置文件

交叉热备配置文件为replicator.xml,该文件放置在openPlant\config目录下。
文件内配置参数包括:

参数功能含义
IP=""目的数据库IP,例IP="192.168.4.115"。
PO=""目的数据库端口port,例 PO="8200" 。
US=""目的数据库用户名, US="sis"。
PW=""目的数据库密码,PW="openplant"。
PN=""主数据库源对象,库(如:W3)或者点表或者测点。
TN=""目的数据库备份对象,库(如:W3)或者点表或者测点。
XF=0XF:0, calc->calc,das->das。
XF=1XF:1, calc->das, das->das。
SY=0SY:0, 同步ID为否,目的和源侧ID不强校验。
SY=1SY:1, 同步ID为是,优先目的侧和源侧ID一致(保留源ID)。
SP数据库镜像源端口,从数据库端口开始增加,缺省0。在replicator.xml中增加 SP字段,可以指定数据库镜像使用的动态端口范围 ,需要从sp开始总共预留20个左右的端口范围。重启数据库,镜像配置才能生效。此参数用以网络要求严格需要确定端口使用范围的场景
FL流量过滤,缺省FL:0,不执行过滤;FL:1,数据一直不变情况下,每30秒发送至镜像端,变化即时发送。
AR=1AR:1, 缺省值, 中断期间历史支持回补,参数仅在V5.0.4+生效。
AR=0AR:0, 历史不支持回补,参数仅在V5.0.4+生效。
AR=2AR:2, 支持历史写入同步,但是中断期间历史不支持回补,参数仅在V5.0.10+生效。
EX=""镜像排除字段EX,例如EX="LC,HL,LL,ED", 指这些字段内容永不同步,参数仅在V5.0.10+生效。
TL=""中断期间历史回补时限(单位:天),默认为回补5天内中断数据,参数仅在V5.0.6+生效。

镜像典型配置

配置镜像关系时,请确定最高级别存在,如配置W3->W3,请确定源端存在W3,目的侧存在W3。

映射关系配置方式功能含义
数据库->数据库W3-->W3Master数据库整体备份到Slave数据库
节点->数据库W3.NODE-->W3Master数据库点表NODE和点表下所有测点信息,将备份到Slave数据库。
节点->节点W3.NODE-->W3.NODEMaster数据库点表NODE和点表下所有测点信息,将备份到Slave数据库NODE点表
节点->节点W3.NODE-->W3.UNITMaster数据库点表NODE和点表下所有测点信息,将备份到Slave数据库UNIT点表
点->数据库W3.NODE.POINT-->W3Master数据库测点W3.NODE.POINT 备份至Slave数据库
点->节点W3.NODE.POINT-->W3.NODEMaster数据库测点W3.NODE.POINT 备份至Slave数据库点表NODE下对应测点,如果测点不存在,则备份开始时Slave数据库会先建测点POINT。
点->点W3.NODE.POINT-->W3.NODE.POINTMaster数据库测点W3.NODE.POINT 备份至Slave数据库点表NODE下测点POINT。
点->点W3.NODE.POINT--> W3.NODE.TESTMaster数据库测点W3.NODE.POINT 备份至Slave数据库点表NODE下测点TEST。
点->点W3.NODE.POINT--> W3.UNIT.TESTMaster数据库测点W3.NODE.POINT 备份至Slave数据库点表UNIT下测点TEST。

典型配置示例

1、单库->单库(库名称相同)

数据库A的W3库镜像到数据库B的W3库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200,
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W3" XF="0" />
		</Replicator>
	</openPlant>

2、单库->单库(库名称不相同)

数据库A的W3库镜像到数据库B的W4库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200,
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W4" XF="0" />
		</Replicator>
	</openPlant>

3、点表->库

数据库A的W3.NODE点表镜像到数据库B的W3库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3.NODE" TN="W3" XF="0" />
		</Replicator>
	</openPlant>

4、点表->点表(点表名称相同)

数据库A的W3.NODE点表镜像到数据库B的W3.NODE库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3.NODE" TN="W3.NODE" XF="0" />
		</Replicator>
	</openPlant>

5、点表->点表(点表名称不相同)

数据库A的W3.NODE点表镜像到数据库B的W3.UNIT库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3.NODE" TN="W3.UNIT" XF="0" />
		</Replicator>
	</openPlant>

6、点->点(点名相同)

数据库A的W3.NODE.POINT01点表镜像到数据库B的W3.NODE.POINT01库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3.NODE.POINT01" TN="W3.NODE.POINT01" XF="0" />
		</Replicator>
	</openPlant>

7、点->点(点名不同)

数据库A的W3.NODE.POINT01点表镜像到数据库B的W3.UNIT.TEST01库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3.NODE.POINT01" TN="W3.UNIT.TEST01" XF="0" />
		</Replicator>
	</openPlant>

8、单库->多个数据库

数据库A的W3库镜像到数据库B的W3库和数据库C的W3库,源数据库A:192.168.4.205:8200,第一目的数据库B:192.168.4.206:8200,第二目的数据库C:192.168.4.207:8200,
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W3" XF="0" />
		</Replicator>
		<Replicator PN="mirror" IP="192.168.4.207" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W3" XF="0" />
		</Replicator>
	</openPlant>

9、库<->库(相互镜像)

数据库A的W3库镜像到数据库B的W3库,同时数据库B的W3库镜像到数据库A的W3库,数据库A:192.168.4.205:8200,数据库B:192.168.4.206:8200
请在数据库A服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.206" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W3" XF="0" />
		</Replicator>
	</openPlant>
请在数据库B服务器上,配置replicator.xml:
	<?xml version="1.0" encoding="UTF-8"?>
	<openPlant>
		<Replicator PN="mirror" IP="192.168.4.205" PO="8200" SY="1" >
			<RepItem PN="W3" TN="W3" XF="0" />
		</Replicator>
	</openPlant>