如何在两台oracle数据库服务器之间实现数据的同步,可以使用oracle的物化视图来实现:
假设现在有内外网两台服务器,数据是从内网服务器同步到外网
1.首先应该建立数据库链接DBLINK
在外网服务器执行
create database link linkfwq
connect to fzept identified by neu
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fjept)
)
)';
host=数据库的ip地址,service_name=数据库的ssid。
这样就建好了内外网数据库之间的DBLINk
2.然后 在内网服务器建立测试表test,建立物化视图日志,执行语句 CREATE MATERIALIZED VIEW LOG ON TEST;
3.在外网服务器上建立物化视图
CREATE MATERIALIZED VIEW 物化视图的名字
REFRESH FAST START WITH SYSDATE
NEXT SYSDATE + 1/48 下次刷新的时间
WITH PRIMARY KEY
AS SELECT * FROM 源表名@DateLink的名称;
此方法需要原表中必须存在逐渐,通过主键监控记录表的LOG.
4.开启JOB来定时刷新数据
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 0;
等一会之后在执行:
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20;