Linux/Centos6.5 Orace 11g R2 ogg 单向同步配置过程

文中涉及的安装包以及任何问题请加下方二维码免费获取提问

1.环境准备

源Oracle:11g R2 64位 ip:192.168.40.66 操作系统:Centos6.5 64位

目标Oracle:11g R2 64位 ip:192.168.40.67 操作系统:Centos6.5 64位

2.下载OGG软件并解压安装

源服务器

# mkdir -p /u01/app/oracle/ogg 

# unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

# tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/app/oracle/ogg/ 

# chown -R oracle:oinstall /u01/app/oracle/ogg

目标服务器

# mkdir -p /u01/app/oracle/ogg 

# unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

# tar –xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/app/oracle/ogg/ 

# chown -R oracle:oinstall /u01/app/oracle/ogg

 准备OGG环境变量

 1)源服务器

  #vim /home/oracle/.bash_profile

增加如下两行:

export GGATE=$ORACLE_BASE/ogg

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

生效环境变量

#source /home/oracle/.bash_profile

目标服务器

 #vim /home/oracle/.bash_profile

 增加如下两行:

 export GGATE=$ORACLE_BASE/ogg

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

生效环境变量

 #source /home/oracle/.bash_profile

配置日志模式

 只要配置源服务器,目标服务器不用配置

配置为规档模式

#su – oracle

#sqlplus / as sysdba

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

SQL> alter system set log_archive_dest_1='location=/u01/archive' scope=both;

 配置日志模式(打开强制规档与补充日志模式)

SQL> alter database add supplemental log data;  

SQL> alter database force logging; 

3)查看配置结果:

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

创建GoldenGate用户帐号

 1) 源服务器

#su - oracle

#sqlplus / as sysdba

SQL>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg.dbf' size 10M autoextend on next 10M;

 SQL>create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

 SQL>grant connect,resource to ogg;

 SQL>grant create session,alter session to ogg;

 SQL>grant select any dictionary,select any table to ogg;

 SQL>grant alter any table to ogg;

 SQL>grant flashback any table to ogg;

 SQL>grant execute on dbms_flashback to ogg;

目标服务器

 #su - oracle

 #sqlplus / as sysdba

 SQL>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg.dbf' size 10M autoextend on next 10M;

 SQL>create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

 SQL>grant connect,resource to ogg;

 SQL>grant create session,alter session to ogg;

 SQL>grant select any dictionary,select any table to ogg;

 SQL>grant alter any table to ogg;

 SQL>grant flashback any table to ogg;

 SQL>grant execute on dbms_flashback to ogg;

 SQL>grant insert any table to ogg;

 SQL>grant delete any table to ogg;

 SQL>grant update any table to ogg;

安装GoldenGate软件

 源服务器配置

 #su – oracle

#cd /u01/app/oracle/ogg

#./ggsci

GGSCI  1>create subdirs

GGSCI  2> quit

目标服务器都要配置

#su - oracle

#cd /u01/app/oracle/ogg

#./ggsci  

GGSCI  1> create subdirs

GoldenGate DML同步源端配置

#cd /u01/app/oracle/ogg

# ./ggsci

 源MGR进程

编辑主进程组

GGSCI  1>edit params mgr

 输入i进入编辑模式,在文件中增加如下参数:

port 7809

dynamicportlist 7800-8000

autorestart extract *,retries 5,waitminutes 2,resetminutes 5

按ESC键退出编辑模式,输入:wq进行保存。

说明:

 port 指定mgr进程通信端口;

 dynamicportlist 表示mgr进程可以为源与目的端动态通信指定端口;

 autorestart extract 表示自动重启extract进程组,每2分钟尝试重启所有进程,重试5次,每5分钟清零。

 配置参数后,重启mgr进程生效

启动主管理进程

GGSCI 2>start mgr

配置Extract进程组

编辑eora配置文件

GGSCI  4>edit params eora

输入i进入编辑模式,在文件中增加如下参数:

extract eora

dynamicresolution

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) 

userid ogg,password ogg  

exttrail /u01/app/oracle/ogg/dirdat/et  

table scott.*; 

按ESC键退出编辑模式,输入:wq进行保存。

说明:

 extract eora定义extract进程别名

 dynamicresolution 

setenv设置环境变量

 userid 登录数据库

 exttrail指定本地trail文件地址

 table 定义同步的表  scott.* 表示 同步scott用户下的所有表

添加抽取进程

GGSCI 2>add extract eora, tranlog,begin now

添加本地trail文件

GGSCI  2>add exttrail /u01/app/oracle/ogg/dirdat/et,extract eora

说明:

 创建本地trail文件,主extract进程负责写这部分文件,pump负责把这部分文件传到目标服务器端。

 启动eora服务

GGSCI 2>start extract eora 

配置Pump进程组 

编辑pump配置文件

GGSCI  2>edit params pump_so

输入i进入编辑模式,在文件中增加如下参数:

extract pump_so

dynamicresolution

passthru

rmthost 192.168.40.66,mgrport 7809,compress

rmttrail /u01/app/oracle/ogg/dirdat/pt

table scott.*;

按ESC键退出编辑模式,输入:wq进行保存。

上面文件中的ip(192.168.40.66),要换成目标端的ip。

添加pump进程  源端路径

GGSCI 2>add extract pump_so,exttrailsource  /u01/app/oracle/ogg/dirdat/et

添加远程trail文件  目标路径

GGSCI  2>add rmttrail /u01/app/oracle/ogg/dirdat/pt,extract pump_so

说明: 指定远程trail文件

启动pump进程

GGSCI  2>start extract pump_so

GoldenGate DML同步目标端配置

#cd /u01/app/oracle/ogg

#./ggsci

目标端MGR进程

编辑MGR配置文件

GGSCI  2>edit params mgr

输入i进入编辑模式,在文件中增加如下参数:

port 7809

dynamicportlist 7800-8000

autostart er *

autorestart extract *, waitminutes 2, resetminutes 5

lagreporthours 1

laginfominutes 3

lagcriticalminutes 5

purgeoldextracts /u01/app/oracle/ogg/dirdat/rt*, usecheckpoints, minkeepdays 3

按ESC键退出编辑模式,输入:wq进行保存。

2) 启动MGR

GGSCI  2>start mgr


 添加检查表

说明: 当我们在GLOBALS 文件里指定了默认的checkpoint 之后,新的Replicat groups 在创建时会自动使用这个参数,不需要其他指令

 编辑全局配置文件

GGSCI 2>edit params ./GLOBALS 

输入i进入编辑模式,在文件中增加如下参数:

CHECKPOINTTABLE ogg.checkpoint

按ESC键退出编辑模式,输入:wq进行保存。

这里需要退出ggsci终端 

GGSCI 2>exit

重新进入

#./ggsci 

添加checkpoint表

GGSCI 1> dblogin userid ogg,password ogg 

Successfully logged into database.

GGSCI  2> add checkpointtable ogg.checkpoint

Successfully created checkpoint table OGG.CHECKPOINT.


配置目标端Peplicat进程组

 编辑配置文件

GGSCI 1>edit params repl

输入i进入编辑模式,在文件中增加如下参数:

replicat repl

userid ogg,password ogg

assumetargetdefs

reperror default,discard

discardfile /u01/app/oracle/ogg/dirrpt/repl.dsc,append,megabytes 50

dynamicresolution

map scott.*, target scott.*;

按ESC键退出编辑模式,输入:wq进行保存。

添加复制进程

GGSCI 1>add replicat repl,exttrail /u01/app/oracle/ogg/dirdat/pt, CHECKPOINTTABLE ogg.checkpoint

启动进程

GGSCI  1>start repl


目标端查看checkpoint状态

#su - oracle

#sqlplus ogg/ogg

SQL>select tname from tab; 

TNAME 

------------------------------------- 

CHECKPOINT TABLE

CHECKPOINT_LOX TABLE

SQL>exit;

 DML配置测试     

源端和目标端同时创建t1表

 源端创建t1表

#sqlplus scott/123456

SQL>create table t1 (id char(10));

目标端创建t1表

#sqlplus scott/123456

SQL>create table t1 (id char(10));

源端执行DML操作后提交

SQL>insert into t1 values(100);

SQL>insert into t1 values(300);

SQL>commit;

4)目标端查看

SQL> select * from t1;

能查到下面两条数据,即可

说明:到此goldengate DML单向配置已经配置完毕,通过简单的测试示例来进行测试。

GoldenGate DDL同步源端配置 


服务器源端操作

指定数据库模式

SQL>exit

#cd /u01/app/oracle/ogg/ 

#./ggsci

GGSCI  1> edit param ./GLOBALS

输入i进入编辑模式,在文件中增加如下参数:

ggschema ogg

按ESC键退出编辑模式,输入:wq进行保存。 

GGSCI  2> view param ./GLOBALS 查看 

ggschema ogg

GGSCI  3> stop mgr 

oralce 11gR2数据库需要关闭回收站。

GGSCI  3>quit

#sqlplus / as sysdba;

在关之前可以先看一下,如果是on,如下图所示,则回收站是开启的。

SQL>show parameter recyclebin

SQL>alter system set recyclebin=off deferred;

 改完需要把数据库重启一下才会生效

SQL>shutdown immediate

SQL>startup

SQL>show parameter recyclebin

3) 安装DDL对象

SQL> grant dba to ogg;

说明: 以下各执行如提示:Enter Oracle GoldenGate schema name,均指定用户:ogg

SQL>@marker_setup

SQL>@ddl_setup

SQL>@role_setup 

SQL>grant GGS_GGSUSER_ROLE to ogg;

SQL>@ddl_enable

SQL>@marker_status.sql

注1: 执行dbmspool包将在数据库中创建DBMS_SHARED_POOL包,之后ddl_pin包需要用到

SQL>@?/rdbms/admin/dbmspool.sql

Package created.

Grant succeeded.

View created.

Package body created.

注2: 执行ddl_pin.sql通过dbms_shared_pool.keep存储过程将DDLReplication相关对象keep在共享池中,以保证这些对象不要RELOAD,提升性能。

SQL>@ddl_pin.sql ogg

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

源端操作-修改eora(抽取)进程的params文件

停止eora(抽取)进程

GGSCI  2> stop extract eora

编辑配置文件

GGSCI  3> edit params eora

输入i进入编辑模式,在文件中增加如下黑色背景参数:

extract eora

dynamicresolution

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

userid ogg,password ogg

exttrail /u01/app/oracle/ogg/dirdat/et

ddl include all

ddloptions addtrandata, report

table scott.*; 

按ESC键退出编辑模式,输入:wq进行保存。

启动mgr,eora进程

GGSCI  4> start mgr 

GGSCI  5> start extract eora

查看eora进程启动情况

GGSCI  6> info extract eora

目标端操作-修改replicat进程的params文件

停止mgr进程

GGSCI 1>stop mgr

 停止repl进程

GGSCI  1> stop replicat repl 

 编辑repl配置文件

GGSCI  1> edit params repl 

输入i进入编辑模式,在文件中增加如下黑色背景参数:

replicat repl

userid ogg, password ogg

assumetargetdefs

reperror default, discard

discardfile /u01/app/oracle/ogg/dirrpt/repl.dsc, append, megabytes 50

dynamicresolution

ddloptions report

ddlerror default ignore retryop maxretries 3 retrydelay 5

ddlerror default discard

ddlerror default ignore retryop

map scott.*, target scott.*;

按ESC键退出编辑模式,输入:wq进行保存。

启动repl进程 

GGSCI  4>start mgr

启动mgr进程后,系统会自动启动repl进程

GGSCI  5> info all

DDL测试

本节验证源端t1表增加字段后,目标端自动改变。

添加字段前:

源端查看:

#sqlplus scott/123456

SQL> desc t1;

目标端查看

#sqlplusscott/123456

SQL> desc t1;

 

源端添加字段test

SQL>alter table t1 add(test number(10));

SQL>desc t1;

目标端验证

SQL> desc t1;

到此配置完成。

 如果对此有兴趣,请扫下面二维码免费获取更多详情,如果文章对您有帮助,请打赏博主一两毛钱。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值