四时宝库

程序员的知识宝库

利用Oracle触发器实现不同数据库之间的数据同步

首先在两个数据库之间创建链接(DB Link),然后对要同步地表做一个同义(synonym),最后建一个触发器实现同步。

实现步骤如下:

1)为保证连接到另一台远程服务器的数据库,需要建立一个DB Link,创建DB Link脚本如下:

2)建立synonym,以下SQL脚本在水质断面监测数据库中,创建了访问水环境自动监测地理信息系统数据库的同义:


3)创建触发器SQL脚本,实现了两个数据库之间水质断面监测状态的同步:


这种方式适合两个数据库之间的个别表同步,要实现整个数据库的同步通过dataguard来实现全库同步,并且备库不能进行操作。

DataGurd:
主要备库的方式,就是数据库对数据库的备份方式,主要是解决容灾的。

流复制:
主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。可以复制到表,用户,数据库级别。

高级复制:
主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程的复制。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接