本文介绍了使用快照表和触发器进行增量数据同步。主库为Oracle 11g数据库,针对需要同步的表建立增量数据临时表以及触发器并通过kettle定时同步到PostgreSQL数据库。
1、主库创建快照表和触发器
注意:快照表结构和源表结构必须一致!
--创建插入快照表
CREATE TABLE SPWUSER.WEB_CUSTOMER_INSERT_TMP
(
ID NUMBER NOT NULL,
NAME VARCHAR2(128 BYTE) NOT NULL,
CREATED TIMESTAMP(6) WITH LOCAL TIME ZONE DEFAULT (current_timestamp) NOT NULL,
MODIFIED TIMESTAMP(6) WITH LOCAL TIME ZONE DEFAULT (current_timestamp) NOT NULL
);
--创建更新快照表
CREATE TABLE SPWUSER.WEB_CUSTOMER_UPDATE_TMP
(
ID NUMBER NOT NULL,
NAME VARCHAR2(128 BYTE) NOT NULL,
CREATED TIMESTAMP(6) WITH LOCAL TIME ZONE DEFAULT (current_timestamp) NOT NULL,
MODIFIED TIMESTAMP(6) WITH LOCAL TIME ZONE DEFAULT (current_timestamp) NOT NULL
);
--创建删除快照表
CREATE TABLE SPWUSER.WEB_CUSTOMER_DELETE_TMP
(
ID NUMBER NOT NUL