Oracle goldengate 搭建配置(精简版)

【该文章主要面向Oracle goldengate初学者的搭建配置,文中删去了不需要的多余参数,让初学者一目了然一学就会】

★适用场景

本文适用于单实例间的单向传输,集群配置和双向传输只需要做不多的改变即可,所以先学会本文打好基础

★实验环境
1。数据库情况
源端   :11gR2(11.2.0.4)
目标端:11gR2(11.2.0.4)

2.操作系统情况
源端   :RedHat 6.4   IP:1.1.1.1  已关闭防火墙
目标端:RedHat 6.4   IP:1.1.1.2  已关闭防火墙

★关闭数据库的recyclebin(两节点)
(10g必须,11g可选)同步DDL要求关闭10g中的回收站特性
SQL> alter system set recyclebin=off scope=spfile;


★创建系统OGG用户(两节点)
useradd -g oinstall -G dba oggos
mkdir -p /ogg
chmod 777 -R /ogg
chown -R oggos:oinstall /ogg
echo "oggos"|passwd --stdin oggos


★准备OGG环境变量(两节点)
vi /home/oggos/.bash_profile

export ORACLE_SID=ora11g
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export GG_HOME=/ogg
export PATH
export PATH=$ORACLE_HOME/bin:$HOME/bin:$ORACLE_HOME/jdk/bin:$GG_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GG_HOME
#AIX下为export LIBPATH=$ORACLE_HOME/lib:$GG_HOME


★配置日志模式(两节点/一节点)
startup force
shut immediate
startup mount
alter database archivelog;
alter database open;
alter database force logging; 
alter database add supplemental log data; 

》》查看配置结果:
SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;
LOG_MODE     SUPPLEME FOR
------------ -------- ---
ARCHIVELOG   YES      YES

★创建DB OGG用户(两节点)
su - oracle
sqlplus /nolog
conn / as sysdba;
create tablespace ogg datafile '/home/oracle/ogg.dbf' size 10m autoextend on next 10m;
create user ogg identified by ogg default tablespace ogg temporary tablespace TEMP;
grant dba to ogg;

或者常规模式
grant connect,resource to ogg;
grant create session,alter session to ogg;
grant select any dictionary,select any table to ogg;
grant alter any table to ogg;
grant flashback any table to ogg;
grant execute on dbms_flashback to ogg;

★OGG的运行环境脚本(两节点)
cd /ogg
sqlplus / as sysdba

@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
grant ggs_ggsuser_role to ogg;
@ddl_enable.sql

温馨提示:全部输入DB用户名“ogg”即可

★安装OGG软件(两节点)
》》高版本
./runInstaller

》》低版本
GGSCI > create subdirs
温馨提示:这个功能适用于低版本ogg,新版ogg提供图形化安装

★源端配置
① MGR配置
edit params mgr

port 7809
dynamicportlist 7800-7899
autostart extract *
autorestart extract *,retries 5,waitminutes 2,resetminutes 60
userid ogg,password ogg 
purgeoldextracts /ogg/dirdat/*,usecheckpoints,minkeepdays 7
purgeddlhistory minkeepdays 11,maxkeepdays 14
purgemarkerhistory minkeepdays 11, maxkeepdays 14
lagreporthours 1
laginfominutes 30
lagcriticalminutes 45

》》启动mgr进程
GGSCI > start mgr

》》配置全局配置文件
edit params ./GLOBALS

GGSCHEMA ogg
CHECKPOINTTABLE ogg.checkpoint

exit


》》添加checkpoint表
[ogg@ogg1 ogg]$ ./oggci
GGSCI > dblogin userid ogg,password ogg
GGSCI > add checkpointtable ogg.checkpoint
Successfully created checkpoint table ogg.checkpoint.

切换到数据库下,可以看到checkpoint表
SQL> conn ogg/ogg
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
CHECKPOINT                     TABLE
CHECKPOINT_LOX                 TABLE


② Extract配置
GGSCI > edit params ex_scott

extract ex_scott
setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
setenv (ORACLE_SID=orcl)
userid ogg, password ogg
exttrail /ogg/dirdat/es
discardfile /ogg/dirrpt/ex_scott.dsc,append,megabytes 1024
gettruncates 
dynamicresolution
ddl include all
table scott.*;


》》添加抽取进程
GGSCI > add extract ex_scott,tranlog,begin now


》》添加抽取进程日志文件
GGSCI > add exttrail /ogg/dirdat/es,extract ex_scott,megabytes 200


》》在scott的所有表上添加附加日志
GGSCI > dblogin userid ogg,password ogg
GGSCI > add trandata scott.*    

》》启动所有服务
GGSCI >start ex_scott

》》查看所有服务
GGSCI > info all


③ Pump配置
GGSCI >edit params pu_scott

extract pu_scott
dynamicresolution
passthru
rmthost 1.1.1.2,mgrport 7809,compress
rmttrail /ogg/dirdat/ps
table scott.*;

》》添加pump源进程
GGSCI > add extract pu_scott,exttrailsource /ogg/dirdat/es

》》添加pump目标进程
GGSCI > add rmttrail /ogg/dirdat/ps,extract pu_scott,megabytes 200

》》启动pump进程
GGSCI > start extract pu_scott


★目标端配置
①MGR配置
GGSCI >edit param mgr

port 7809
dynamicportlist 7800-7899
autostart er *
autorestart er *,retries 5,waitminutes 2,resetminutes 60
userid ogg,password ogg 
purgeoldextracts /ogg/dirdat/*,usecheckpoints,minkeepdays 7
purgeddlhistory minkeepdays 11,maxkeepdays 14
purgemarkerhistory minkeepdays 11, maxkeepdays 14
lagreporthours 1
laginfominutes 30
lagcriticalminutes 45


》》启动mgr
GGSCI > start mgr

》》配置全局配置文件
edit params ./GLOBALS

ggschema ogg
checkpointtable ogg.checkpoint

exit


》》添加checkpoint表
[ogg@ogg2 ogg]$ ./oggci
GGSCI > dblogin userid ogg,password ogg
    Successfully logged into database.
GGSCI > add checkpointtable ogg.checkpoint
    Successfully created checkpoint table ogg.checkpoint.

切换到数据库下,可以看到checkpoint表
SQL> conn ogg/ogg
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
CHECKPOINT                     TABLE
CHECKPOINT_LOX                 TABLE

》》对表应用额外日志
GGSCI > dblogin userid ogg,password ogg
GGSCI > add trandata scott.*    

② Replicat配置
GGSCI >edit params re_scott

replicat re_scott
userid ogg, password ogg
assumetargetdefs
gettruncates 
reperror default,abend
ddl include mapped
ddlerror default abend
discardfile /ogg/dirrpt/re_scott.dsc,append,megabytes 1024
dynamicresolution
allownoopupdates 
map scott.*,target scott.*;

》》添加复制进程
GGSCI > add replicat re_scott,exttrail /ogg/dirdat/ps,checkpointtable ogg.checkpoint

★数据导入导出
》》查看此时源端的scn
SQL> select current_scn from v$database;
    CURRENT_SCN
    -----------
         402721

》》查看此时测试表的数据
SQL> select sal from scott.emp;
     
》》源端数据导出
exp system/oracle file=scott.dump log=scott_exp.log owner=scott flashback_scn=402721

》》Dump文件传输
scp /home/oracle/dump/scott.dump 1.1.1.2:/home/oracle/dump

》》目标端数据导入
imp system/oracle file=scott.dump log=scott_imp.log fromuser=scott touser=scott

》》启动Replicate进程(注意带SCN值)
GGSCI > start replicat test_r,aftercsn 402721

》》查看OGG进程状态(两节点)
GGSCI >  info all

》》修改源端测试表数据
SQL> update scott.emp set sal=sal+1;
SQL> commit;

》》查看目标端测试表数据变化
SQL> select sal from scott.emp;


搭建完成


《OVER》

发布了20 篇原创文章 · 获赞 17 · 访问量 1885

猜你喜欢

转载自blog.csdn.net/zzt_2009/article/details/105003798
今日推荐