两个oracle数据库间通过数据库链接和触发器同步两个数据库间数据

本文介绍了如何通过Oracle数据库的数据库链接(DB Link)和触发器实现两个数据库之间的数据同步。首先创建DB Link连接到目标数据库,然后创建触发器,根据INSERT、UPDATE、DELETE操作分别处理数据同步,确保源数据库的更改能实时反映到目标数据库的两张表中。此外,还提供了使用存储过程和定时任务进行定时同步的方法。
摘要由CSDN通过智能技术生成

前提:本地数据库存在一张:A_TEST表,服务器数据库有两张表:A_TEST、A_TEST_HIST(历史表),需要将本地数据的更改、新增、删除同步到服务器数据库的两张表中。

方法一:通过触发器同步。

1、

用如下命令建立DB Link:

create database link MYTEST connect to XXXX identified by 'XXXX' using 'IP/Service Name(我的是:orcl)';

注意:需要DB支持Advanced replication功能,是否支持,可用如下SQL查看:

select * from v$option where PARAMETER='Advanced replication';

如果是返回True就表示支持。

2、建立触发器:sendToCeShiTest

create or replace trigger sendToCeShiTest
after insert or update or delete
on A_TEST
for each row
declare cunt integer:=0;
--PRAGMA AUTONOMOUS_TRANSACTION;  -- 自治事务解决 触发器 导致" ORA-04091 触发器 / 函数 不能读 它"不可行的验证
begin
case
when updating then
SELECT count(*) INTO cunt FROM A_TEST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值