天天看点

oracle 11g goldengate DML单向复制测试环境搭建

一.安装条件

1.前提条件:

1).源、目标Oracle数据库监听启动

2).gg安装目录为/u01/app/ogg

3).被复制表必须存在主键

4).进程配置的抽取日志目录是否有效,如果进程配置正确,

目录不一致很可能导致复制不成功

5).操作系统

   rhel 5.4 X64(2.6.18-164.el5)

   LANG=en_US.UTF-8 

   数据库软件 

   Oracle 11.2.0.3.0_X64

   Database Language and Character Set:

   NLS_LANG         = "AMERICAN_AMERICA.ZHS16GBK" 

   NLS_LANGUAGE     = "AMERICAN" 

   NLS_TERRITORY    = "AMERICA" 

   NLS_CHARACTERSET = "ZHS16GBK"

  goldengate软件

  ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

6)主机信息

  source: 192.168.100.5 linux1

  target: 192.168.100.6 linux2

2.目录权限

chown -R oracle.oinstall /u01/app/ogg

chmod -R 775 /u01/app/ogg

3.设置环境变量

LD_LIBRARY_PATH 、PATH

oracle用户环境文件尾添加

su - oracle

vi .bash_profile

# User specific environment and startup programs

export ORACLE_BASE=/u01/app/oracle  -- oracle base目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 -- Oracle Home目录

export ORACLE_SID=oradb1  -- Oracle SID

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin -- Oracle PATH目录

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib -- Oracle Share LIB目录

export LD_LIBRARY_PATH=/u01/app/ogg:$LD_LIBRARY_PATH -- gg Share LIB目录

export PATH=/u01/app/ogg:$PATH  -- gg PATH目录

alias gg="cd /u01/app/ogg;./ggsci"  -- 命令别名

4.gg目录初始化

gg

GGSCI (linux1) 1>create subdirs

GGSCI (linux1) 2>exit

5.进程分布

1) source:

mgr     管理进程

ep01   抽取进程

dp01   投递进程

2)target:

rp01    应用进程

二、源端数据库配置

1.归档模式

查看归档

archive log list;

非归档时处理

shutdown immediate

startup mount

alter database archivelog;

alter database open;

2.强制日志

数据库打开状态

alter database force logging;

select force_logging from v$database;

输出为yes

修改归档之后切换日志文件

alter system switch logfile;

3.补充日志

alter database add supplemental log data;

select supplemental_log_data_min from v$database;

4.关闭回收站

goldengate 10中如果需要使用DDL复制,需要关闭回收站,

goldengate 11已经不需要

10.1

alter system set "recyclebin"=false;

10.2

alter system set recyclebin=off;

5.创建gg用户和授权

create tablespace tbs_gg datafile '/u01/app/oracle/ogg1.dbf' size 50m;

create user ogg identified by ogg default tablespace tbs_gg;

grant connect,resource to ogg;

grant dba to ogg;

建立测试用户和表

create user user1 identified by user1;

grant connect,resource to user1;

conn user1/user1

create table table1(id number,name varchar2(100));

6.GoldenGate设置

1)添加检查点

GGSCI (linux1) 8>dblogin userid ogg,password ogg

GGSCI (linux1) 9>add checkpointtable ogg.checkpoint

GGSCI (linux1) 10> edit params ./GLOBALS

checkpointtable ogg.checkpoint

2)配置manager进程

GGSCI (linux1) 11> edit params mgr

port 7809

dynamicportlist 7810-7830

purgeoldextracts /u01/app/ogg/dirdat/lt*,usecheckpoints,minkeepdays 7,minkeepfiles 20

保存退出

start mgr

3)配置extract进程

GGSCI (linux1) 4> edit params ep01

extract ep01

userid ogg,password ogg

exttrail /u01/app/ogg/dirdat/lt

table user1.table1;

add extract ep01,tranlog,begin now

add exttrail /u01/app/ogg/dirdat/lt,extract ep01,megabytes 20

start ep01

5)配置pump进程

GGSCI (linux1) 8> edit params dp01

extract dp01

passthru

rmthost 192.168.100.6,mgrport 7809

rmttrail /u01/app/ogg/dirdat/rt

add extract dp01,exttrailsource /u01/app/ogg/dirdat/lt

add rmttrail /u01/app/ogg/dirdat/rt,extract dp01,megabytes 20

start dp01

三、目标数据库

1. 创建用户和表

创建测试用户和表

2.配置管理进程

GGSCI (linux2) 6> edit params mgr

purgeoldextracts /u01/app/ogg/dirdat/rt*,usecheckpoints,minkeepdays 7,minkeepfiles 20

启动mgr进程

GGSCI (linux2) 25>start mgr

3.配置replicate进程

1)编辑replicate配置

GGSCI (linux2) 26> edit params rp01

replicat rp01

SETENV(NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

dboptions suppresstriggers

assumetargetdefs

map user1.table1,target user1.table1;

2)添加检查点

GGSCI (linux2) 13>dblogin userid ogg,password ogg

GGSCI (linux2) 14>add checkpointtable ogg.checkpoint

GGSCI (linux2) 11> edit params ./GLOBALS

3)添加replicat进程

GGSCI (linux2) 15>add replicat rp01,exttrail /u01/app/ogg/dirdat/rt,begin  now,CHECKPOINTTABLE ogg.checkpoint

启动rp01进程

GGSCI (linux2) 16>start rp01

进行DML插入测试

 本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/1294264