首页 > 系统服务 > 详细

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

时间:2019-06-05 23:11:41      阅读:159      评论:0      收藏:0      [点我收藏+]
文中涉及的安装包以及任何问题请加下方二维码免费获取提问

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;
技术分享图片
到此配置完成。
如果对此有兴趣或者有问题需要问,请添加:15149813470,免费解答。

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

原文:https://blog.51cto.com/11233498/2405215

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!