天天看點

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