Oracle不同数据库之间同步处理方案

Oracle不同数据库之间同步处理方案,第1张

背景:项目中遇到的问题,需要二区两台数据库之间同步一些表,以及导出sql文件同步至三区数据库。

新建SQL文件生成的目录D:mptmsudataDNLTBDIR。

二区数据库中执行下列语句:

1)新建二区数据库服务器到二区数据库服务器的数据库DATABASE LINK文件。

二区数据库中执行下列语句:

2)二区数据库服务器新建表DNL_TBJL。

二区数据库中执行下列语句:

在二区数据库服务器说新建相关表的触发器,触发器实现的功能是东区2区向西区直接通过DBLINK直接执行;东区2区向东区3区通过生成SQL文件到D:mptmsudataDNLTBDIR目录下;触发器的每次 *** 作都记录到表格DNL_TBJL(id, tables,czlx, SQL, TIME, BAK)内。

通过Windows系统自带的计划任务执行下面批处理实现数据入库

1)三区区数据库服务器新建表DNL_SQLJL。

三区数据库中执行下列语句:

2)三区区数据库服务器新建计划任务定期执行DQ3QRK-ZXWJ.bat批处理。

3)DQ3QRK-ZXWJ.bat批处理调用DQ3QRK-ZXSQL.bat来执行入库 *** 作。

DQ3QRK-ZXWJ.bat语句如下:

DQ3QRK-ZXSQL.bat语句如下:

在前面说到了数据的备份,这里我们试着去探讨备份的机制,加入数据库在A时间备份,在A时间向后的2个小时出现了问题,那么A时间后的2个小时数据就已经没有了,所以备份的机制就显得比较重要了。

工具/原料sqlyog1首先我们需要连接到我们自己的mysql数据库

2连接数据库成功后,在数据库的控制面板里找到增强工具,点击增强工具在展开的菜单项中点击【数据库同步向导】

3这里不需要做任何的改动直接点击【下一步】就可以了

4我们在左边的来源填写来源数据库,在右边的目标选择同步到的目标数据库,将来源和目标数据库配置完成,点击下一步

5选择同步的模式:选择单向同步模式或者双向同步模式,单向和双向具体的差别,在下面图中说的比较详细,这里我就不多做描述了。

6接着选择需要同步的数据表,将需要同步的表名前面勾选上

你可以分三个来写,分别用来监视insert\delete\update三个(这样写容易完成),我下面写一个,你其它有可以参照下面这个来写

--插入行的情况

CREATE TRIGGER [填入触发器名] ON [dbo].[表名]

FOR INSERT

AS

insert [另外一个数据库名].[dbo].[表名] select * from inserted

你也可以参照料我下面这段,写在一起,但比较麻烦,我就不具体按你要求的写了罗.

CREATE trigger [数据库A.tr_user] on [user]

/* 触发器 在数据库A的user表建立一个名字tr_user的触发器 */

for update,insert,delete

/*监视 修改 插入 删除*/

as

if not exists (select * from deleted)

/* 如果deleted表为空,那么 */

insert 数据库B..[user](username,userpass,landtime) select username,password,lastlogin from inserted

/* 将inserted表(就是对于触发器来说刚刚被插入的集合)插入到B.user */

else if not exists (select * from inserted)--删除

/* 否则 如果 inserted集合为空 */

delete 数据库B..[user] where id in (select userid from deleted)

/* 那么删除B.user下id是deleted集合中出现的id 这里用了in */

else--更新

update [user]

set

[user].username=i.username,

[user].userpass=i.password

from 数据库B..[user] as [user],

inserted as i

where [user].id=i.userid

/* update就很明显了,凡是updated的都来更新,保持一样就可以了 */

alter table 数据库B..[user] ENABLE TRIGGER [数据库B.tr_user]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10047128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存