一.ogg Windows環(huán)境安裝
https://blog.csdn.net/lebron3v/article/details/80226013
--進(jìn)入ogg安裝目錄
D:\app\Administrator\product\ogg>ggsci
--創(chuàng)建需要的目錄
D:\app\Administrator\product\ogg>create subdirs
二.oracle windows 環(huán)境下創(chuàng)建多個實例
https://blog.csdn.net/lxpaopao/article/details/113712576
三.日志設(shè)置(source 和 target)
GoldenGate通過抓取源端數(shù)據(jù)庫重做日志進(jìn)行分析,將獲取的數(shù)據(jù)應(yīng)用到目標(biāo)端轮听,實現(xiàn)數(shù)據(jù)同步跨琳。
因此户辫,源數(shù)據(jù)庫需要必須處于歸檔模式泼诱,并啟用附加日志和強制日志菜拓。
source源端數(shù)據(jù)庫日志設(shè)置
C:\Users\lx>sqlplus /@orclbak as sysdba? --存在多個實例,連接指定實例
SQL>select log_mode,supplemental_log_data_min,force_logging from v$database;
--如果都是NO 則需要開啟
--歸檔日志
SQL>archive log list; --查看歸檔日志是否開啟
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog;
SQL>alter database open;
--強制日志
SQL>alter database force logging;
--附加日志
SQL>alter database add supplemental log data;
target數(shù)據(jù)庫日志設(shè)置參考source
四.源庫和目標(biāo)庫創(chuàng)建 ogg 用戶
create user ggs identified by ggs default tablespace users temporary tablespace temp;
grant dba to ggs; --建立goldengate管理用戶
五垢夹、配置相關(guān)進(jìn)程
1.在Source 和Target上配置Manager
GGSCI (DESKTOP-CRD8FOL) 1> info all
Program? ? Status? ? ? Group? ? ? Lag? ? ? ? ? Time Since Chkpt
MANAGER? ? STOPPED? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GGSCI (DESKTOP-CRD8FOL) 2> edit params mgr
PORT 7809
GGSCI (DESKTOP-CRD8FOL) 3> start manager
Manager started.
2.配置SourceDB 的復(fù)制隊列
先連接到數(shù)據(jù)庫宗挥,測試連接:
GGSCI (DESKTOP-CRD8FOL) 10> dblogin userid ggs@orcl, password ggs
Successfully logged into database.
--增加一個抽汝伞:
GGSCI (DESKTOP-CRD8FOL as ggs@orcl) 11> add extract ext1,tranlog, begin now
EXTRACT added.
--exttrail建立的trail文件是本地的从诲,是給extract進(jìn)程使用,將捕獲的日志數(shù)據(jù)寫入到trail文件中靡羡。
GGSCI (DESKTOP-CRD8FOL as ggs@orcl) 12> add exttrail D:\app\Administrator\product\ogg\dirdat\lt, extract ext1?
EXTTRAIL added
--編輯抽取進(jìn)程ext1參數(shù):
GGSCI (DESKTOP-CRD8FOL as ggs@orcl) 13> edit params ext1
extract ext1
userid ggs@orcl,password ggs
rmthost 127.0.0.1,mgrport 7809
rmttrail D:\app\Administrator\product\ogg\dirdat\lt
dynamicresolution
table ggs.*;
GGSCI (DESKTOP-CRD8FOL as ggs@orcl) 14> start ext1
GGSCI (DESKTOP-CRD8FOL as ggs@orcl) 14> info all
--正常情況如下
Program? ? Status? ? ? Group? ? ? Lag at Chkpt? Time Since Chkpt
MANAGER? ? RUNNING
EXTRACT? ? RUNNING? ? EXT1? ? ? ? 00:00:00? ? ? 00:00:08
3.配置TargetDB 同步隊列
3.1在Target 端添加checkpoint表:
GGSCI (DESKTOP-CRD8FOL) 6> edit params ./GLOBAL
GGSCHEMA ggs
CHECKPOINTTABLE ggs.checkpoint
添加如上2條記錄系洛。
GGSCI (DESKTOP-CRD8FOL) 12> dblogin userid ggs@orclbak, password ggs
Successfully logged into database.
--說明,這個用戶是在Source 庫啟用DDL 創(chuàng)建的亿眠,我在Target 庫也創(chuàng)建了這個用戶碎罚。
GGSCI (DESKTOP-CRD8FOL as ggs@orclbak) 13> add checkpointtable ggs.checkpoint
Successfully created checkpoint tableGGATE.CHECKPOINT.
3.2 創(chuàng)建同步隊列
GGSCI (DESKTOP-CRD8FOL as ggs@orclbak) 14> add replicat rep1,exttrail D:\app\Administrator\product\ogg\dirdat\lt, checkpointtable ggs.checkpoint
REPLICAT added.
GGSCI (DESKTOP-CRD8FOL as ggs@orclbak) 15> edit params rep1
replicat rep1
userid ggs@orclbak,password ggs
assumetargetdefs
discardfile D:\app\Administrator\product\ogg\dirdat\rep1_discard.txt,append
MAP ggs.*,TARGET ggs.*;
3.3開啟同步隊列
GGSCI (DESKTOP-CRD8FOL) 14> start ext1
GGSCI (DESKTOP-CRD8FOL) 14> start rep1
GGSCI (DESKTOP-CRD8FOL) 14> info all
Program? ? Status? ? ? Group? ? ? Lag? ? ? ? ? Time Since Chkpt
MANAGER? ? RUNNING
EXTRACT? ? RUNNING? ? EXT1? ? ? ? 00:00:00? ? ? 00:00:07
REPLICAT? ? RUNNING? ? REP1? ? ? ? 00:00:00? ? ? 00:00:06
所有的進(jìn)程狀態(tài)都是RUNNING,正常纳像。
六.測試
在Source 和Target數(shù)據(jù)庫的ggs用戶下,創(chuàng)建一個EMP表
CREATE TABLE "GGS"."EMP"
( "EMPNO" NUMBER(4,0),
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0),
CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
)
在Source數(shù)據(jù)庫下執(zhí)行
insert into GGS.EMP select * from scott.EMP where empno='7900';
在Target數(shù)據(jù)庫下查看GGS.EMP表多出了一條記錄
select * from GGS.EMP;
抽取信息
接受信息