o****>根据sc*同步数据,源库零停机时间**>*>

本次实验与上次的区别:更加注重细节,几乎包含所有步骤,把我越到的坑都作出了说明。并且同步是由10*向11*进行同步,更加符合升级迁移需求。**>*>*>

如下是主要步骤:*>**>*>*>*>

1. **>配置好o**源端的m*r、抓取和传送进程,并启动。**>*>

2. **>配置好o**目标端的m*r、复制进程,仅启动m*r。**>

3. **>源端可自由进行交易,此时观察源与目标的tra*l文件是否都正常。**>

4. **>查询源端此时的sc*,并按照参数flashbask_sc*进行expdp。**>

5. **>目标端*mpdp导入。**>

6. **>目标端start repl*cat xxx,aftercs* xxxxx **>

&*bsp;**>

Golde*Gate重要进程介绍:

1、Ma*a*er管理进程在两端开启,监控和重启其他进程;分配数据存储和报告错误及事件;

2、Extract进程从日志中抓取并传输到tar*et端事务数据;

3、Server Collector进程在tar*et(接受)端接受数据并写入tra*l文件;

4、Repl*cat进程读取tra*l文件,并应用到tra*et数据库;

5、tra*l文件时**自己抓捕信息的文件,是一个OS文件,存放在./d*rdat/下,以*00000命名,N顺序1,2,3&hell*p;此文件用完可配置参数自动删除。

&*bsp;


&*bsp;

1. 数据库准备情况

1) **>源服务器**>

host*ame:o**1

I*地址:192.168.100.133

数据库:10.2.0.5.0 64 b*t

SID: super

操作系统版本:redhat5.5 64 b*t

o**版本:o**112101_fbo_**s_L**ux_x64_ora11*_64b*t.z*p

&*bsp;

2) **>目标服务器**>

host*ame:o**2

I*地址:192.168.100.130

数据库:11.2.0.4.0 64 b*t

SID: test

操作系统版本:redhat5.5 64 b*t

o**版本:o**112101_fbo_**s_L**ux_x64_ora11*_64b*t.z*p

&*bsp;

2. 创建用户、下载OGG软件并解压安装

o**1**>**>

[*>root@o**1 ~*>]*># mkd*r /*>o**
*>[*>root@o**1 ~*>]*># useradd -*>* o**stall -*>G dba **s
*>[*>root@o**1 ~*>]*># passwd **s
*>[*>root@o**1 ~*>]*># su -*> **s
*>[*>**s@o**1 ~*>]*>$ *d
u*d*>=*>1001*>(**s) **d=*>1000*>(o**stall) *roups=*>1000*>(o**stall),1001*>(dba)
*>[*>**s@o**1 ~*>]*>$ ex*t*>
lo*out
*>[*>root@o**1 ~*>]*># chow* -*>R **s:o**stall /*>o**

*>[*>root@o**1 o***>]*># u*z*p o**112101_fbo_**s_L**ux_x64_ora11*_64b*t.z*p
*>[*>root@o**1 o***>]*># tar xvf fbo_**s_L**ux_x64_ora11*_64b*t.tar -*>C /*>o**
*>[*>root@o**1 o***>]*># chow* -*>R **s:o**stall /*>o**
*v>

&*bsp;

o**2**>**>

[*>root@o**2 ~*>]*># useradd -*>* o**stall -*>G dba **s
*>[*>root@o**2 ~*>]*># passwd **s
*>[*>root@o**2 ~*>]*># mkd*r /*>o**
*>[*>root@o**2 ~*>]*># chow* -*>R **s:o**stall /*>o**

*>[*>root@o**2 o***>]*># u*z*p o**112101_fbo_**s_L**ux_x64_ora11*_64b*t.z*p
*>[*>root@o**2 o***>]*># tar xvf fbo_**s_L**ux_x64_ora11*_64b*t.tar -*>C /*>o**
*>[*>root@o**2 o***>]*># chow* -*>R **s:o**stall /*>o**
*v>

&*bsp;

3. 准备OGG环境变量

#**>源服务器、与目标服务器都要配置**>

$ v* /home/**s/.bash_prof*le

#源端**s增加如下行:*>

&*bsp;

export *ATH
export ORACLE_BASE*>=/u01
export ORACLE_HOME*>=$ORACLE_BASE/product/10.2*>.0*>
export ORACLE_SID*>=super
export *ATH*>=$*ATH:$HOME/b**:$ORACLE_HOME/b**
export LD_LIBRARY_*ATH*>=$ORACLE_HOME/l*b:/l*b:/usr/l*b:/o**:/usr/local/l*b:/usr/*11R6/l*b
export LD_LIBRARY_*ATH_64*>=$ORACLE_HOME/l*b
*v>

&*bsp;

&*bsp;

$ v* /home/**s/.bash_prof*le

#目标端**s增加如下行:*>

export *ATH
export ORACLE_BASE*>=/u01
export ORACLE_HOME*>=$ORACLE_BASE*>/product/11.2*>.0*>
export ORACLE_SID*>=test
export *ATH*>=$*ATH*>:$HOME*>/b**:$ORACLE_HOME*>/b**
export LD_LIBRARY_*ATH*>=$ORACLE_HOME*>/l*b:/l*b:/usr/l*b:/o**
*v>

&*bsp;

4. 配置日志模式

#目标服务器不用配置(非双向)*>

1) **>查看规档与日志模式**>

sqlplus /*> as*> sysdba

*>select*> lo*_mode,suppleme*tal_lo*_data_m**,force_lo***** from*> v$database*>;

LOG_MODE     SU**LEME *>FOR*>
--*>---------- -------- ---*>
NOARCHIVELOG NO       NO
*v>

&*bsp;

2) **>配置为规档模式**>

shutdow**> *mmed*ate;
startup mou*t;
*>alter*> database*> arch*velo*;
*>alter*> database*> ope**>;
*>alter*> system set*> lo*_arch*ve_dest_1=*>'*>locat*o*=/u01/arch*ve*>'*> scope=*>both;
*v>

&*bsp;

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

alter*> database*> add*> suppleme*tal lo**> data; 
*>alter*> database*> force lo*****; 
*v>

&*bsp;

4**>)查看配置结果:**>

SQL&*t;*> select*> lo*_mode,suppleme*tal_lo*_data_m**,force_lo***** from*> v$database*>;

LOG_MODE     SU**LEME *>FOR*>
--*>---------- -------- ---*>
ARCHIVELOG   YES      YES
*v>

&*bsp;

5. 创建Golde*Gate用户帐号

1) **>源服务器**>

su -*> oracle
sqlplus *>/*>*olo*
co** *>/*> as*> sysdba;
*>create*> tablespace o** dataf*le '*>/u01/oradata/super/o**.dbf*>'*> s*ze 10m autoexte*d o**> *ext*> 10m;
*>create*> user*> **s *de*t*f*ed by*> **s default*> tablespace o** temporary*> tablespace TEM**> quota u*l*m*ted o**> o**;
*>*ra*t*> co**ect,resource to*> **s;
*>*ra*t*> create*> sess*o*,alter*> sess*o* to*> **s;
*>*ra*t*> select*> a*y*> d*ct*o*ary,select*> a*y*> table*> to*> **s;
*>*ra*t*> alter*> a*y*> table*> to*> **s;
*>*ra*t*> flashback a*y*> table*> to*> **s;
*>*ra*t*> execute*> o**> dbms_flashback to*> **s;
或直接*ra*t dba *>*>to **s;*>
*v>

&*bsp;

2) **>目标服务器**>

su -*> oracle
sqlplus *>/*>*olo*
co** *>/*> as*> sysdba;
*>create*> tablespace o** dataf*le '*>/u01/oradata/test/o**.dbf*>'*> s*ze 10m autoexte*d o**> *ext*> 10m;
*>create*> user*> **s *de*t*f*ed by*> **s default*> tablespace o** temporary*> tablespace TEM**> quota u*l*m*ted o**> o**;
*>*ra*t*> co**ect,resource to*> **s;
*>*ra*t*> create*> sess*o*,alter*> sess*o* to*> **s;
*>*ra*t*> select*> a*y*> d*ct*o*ary,select*> a*y*> table*> to*> **s;
*>*ra*t*> alter*> a*y*> table*> to*> **s;
*>*ra*t*> flashback a*y*> table*> to*> **s;
*>*ra*t*> execute*> o**> dbms_flashback to*> **s;
*>*ra*t*> **sert*> a*y*> table*> to*> **s;
*>*ra*t*> delete*> a*y*> table*> to*> **s;
*>*ra*t*> update*> a*y*> table*> to*> **s;
或直接*ra*t dba *>*>to **s;*>
*v>

&*bsp;

6. 安装Golde*Gate软件

(1) **>源服务器、与目标服务器都要配置**>

源服务器因为是10*,o**存在依赖包的问题:*>

[*>root@o**1 o***>]*>$ su -*> **s
*>[*>**s@o**1 o***>]*>$ cd /*>o**
*>[*>**s@o**1 o***>]*>$ ./*>**sc* #发现**sc*进不去*>
.*>/*>**sc*: error wh*le*> load*** shared l*brar*es: l*b**z11.so: ca**ot ope**> shared object f*le*>: No such f*le*> or*> d*rectory 

*>[*>**s@o**1 o***>]*>$ ldd **sc* #检查依赖包,发现缺少两个11*的包*>
        l*bdl.so.*>2*> =&*t;*> /*>l*b64/*>l*bdl.so.2*> (0x0000003d9b600000*>)
        l*b**lo*.so *>=&*t;*> /*>o**/*>l*b**lo*.so (0x00002b8bd05ca000*>)
        l*b**repo.so *>=&*t;*> /*>o**/*>l*b**repo.so (0x00002b8bd07ff000*>)
        l*bdb*>-*>5.2*>.so =&*t;*> /*>o**/*>l*bdb-*>5.2*>.so (0x00002b8bd0954000*>)
        l*b*cu*18*.so.*>38*> =&*t;*> /*>o**/*>l*b*cu*18*.so.38*> (0x00002b8bd0bf5000*>)
        l*b*cuuc.so.*>38*> =&*t;*> /*>o**/*>l*b*cuuc.so.38*> (0x00002b8bd0f55000*>)
        l*b*cudata.so.*>38*> =&*t;*> /*>o**/*>l*b*cudata.so.38*> (0x00002b8bd128f000*>)
        l*bpthread.so.*>0*> =&*t;*> /*>l*b64/*>l*bpthread.so.0*> (0x0000003d9ba00000*>)
        l*bxerces*>-*>c.so.28*> =&*t;*> /*>o**/*>l*bxerces-*>c.so.28*> (0x00002b8bd226b000*>)
        l*ba*tlr3c.so *>=&*t;*> /*>o**/*>l*ba*tlr3c.so (0x00002b8bd2783000*>)
        l*b**z11.so *>*>=&*t; *ot fou*d
        l*bcl*tsh.so.11.1*> =&*t; *ot*> fou*d*>
        l*bstdc*>++*>.so.6*> =&*t;*> /*>usr/*>l*b64/*>l*bstdc++*>.so.6*> (0x0000003dad400000*>)
        l*bm.so.*>6*> =&*t;*> /*>l*b64/*>l*bm.so.6*> (0x0000003d9b200000*>)
        l*b*cc_s.so.*>1*> =&*t;*> /*>l*b64/*>l*b*cc_s.so.1*> (0x0000003daa400000*>)
        l*bc.so.*>6*> =&*t;*> /*>l*b64/*>l*bc.so.6*> (0x0000003d9ae00000*>)
        *>/*>l*b64/*>ld-*>l**ux-*>x86-*>64*>.so.2*> (0x0000003d9aa00000*>)

在服务器中找不到11*的包:
*>*>[*>root@o**1 o***>]*># f**d /*> -*>*ame l*b**z11.so
*>[*>root@o**1 o***>]*># f**d /*> -*>*ame l*b**z10.so
*>/*>u01/*>product/*>10.2*>.0*>/*>l*b/*>l*b**z10.so
*>/*>u01/*>product/*>10.2*>.0*>/*>l*b32/*>l*b**z10.so

*>[*>root@o**1 o***>]*># f**d /*> -*>*ame l*bcl*tsh.so.11.1*>
[*>root@o**1 o***>]*># f**d /*> -*>*ame l*bcl*tsh.so.10.1*>
/*>u01/*>product/*>10.2*>.0*>/*>l*b/*>l*bcl*tsh.so.10.1*>
/*>u01/*>product/*>10.2*>.0*>/*>l*b32/*>l*bcl*tsh.so.10.1*>

此时需要做两个软连接:
*>[*>oracle@o**1 l*b*>]*>$ l* -*>s /*>u01/*>product/*>10.2*>.0*>/*>l*b/*>l*b**z10.so l*b**z11.so
*>[*>oracle@o**1 l*b*>]*>$ l* -*>s /*>u01/*>product/*>10.2*>.0*>/*>l*b/*>l*bcl*tsh.so.10.1*> l*bcl*tsh.so.11.1*>
*v>

&*bsp;

此时可以源端进入**sc*:**>

[*>root@o**1 o***>]*># su -*> **s
*>[*>**s@o**1 ~*>]*>$ cd /*>o**
*>[*>**s@o**1 o***>]*>$ ./*>**sc* 
Oracle Golde*Gate Comma*d I*terpreter *>for*> Oracle
Vers*o* *>11.2*>.1.0*>.1*> OGGCORE_11.2.1*>.0*>.1_*LATFORMS_120423.0230_FBO
L**ux, x64, 64*>b*t*> (opt*m*zed), Oracle 11* o**> Apr 23*> 2012*> 08*>:32*>:14*>
Copyr**ht (C) *>1995*>, 2012*>, Oracle a*d/or*> *ts aff*l*ates. All*> r**hts reserved.

GGSCI (o**1) *>1*>&*t;*> create*> subd*rs

Creat*** subd*rector*es u*der *>curre*t*> d*rectory /*>o**
*arameter f*les                *>/*>o**/*>d*rprm: already ex*sts*>
Report f*les                   *>/*>o**/*>d*rrpt: created
*>Checkpo**t*> f*les               /*>o**/*>d*rchk: created
*rocess status f*les           *>/*>o**/*>d*rpcs: created
SQL scr*pt f*les               *>/*>o**/*>d*rsql: created
*>Database*> def***t*o*s f*les     /*>o**/*>d*rdef: created
Extract data f*les             *>/*>o**/*>d*rdat: created
*>Temporary*> f*les                /*>o**/*>d*rtmp: created
Stdout f*les                   *>/*>o**/*>d*rout: created
*v>

&*bsp;

(2) **>目标服务器都要配置**>

[*>root@o**2 o***>]*># su -*> **s
*>[*>**s@o**2 ~*>]*>$ cd /*>o**
*>[*>**s@o**2 o***>]*>$ ./*>**sc*

Oracle Golde*Gate Comma*d I*terpreter *>for*> Oracle
Vers*o* *>11.2*>.1.0*>.1*> OGGCORE_11.2.1*>.0*>.1_*LATFORMS_120423.0230_FBO
L**ux, x64, 64*>b*t*> (opt*m*zed), Oracle 11* o**> Apr 23*> 2012*> 08*>:32*>:14*>
Copyr**ht (C) *>1995*>, 2012*>, Oracle a*d/or*> *ts aff*l*ates. All*> r**hts reserved.
 
GGSCI (o**2) *>1*>&*t;*> create*> subd*rs

Creat*** subd*rector*es u*der *>curre*t*> d*rectory /*>o**
*arameter f*les                *>/*>o**/*>d*rprm: already ex*sts*>
Report f*les                   *>/*>o**/*>d*rrpt: created
*>Checkpo**t*> f*les               /*>o**/*>d*rchk: created
*rocess status f*les           *>/*>o**/*>d*rpcs: created
SQL scr*pt f*les               *>/*>o**/*>d*rsql: created
*>Database*> def***t*o*s f*les     /*>o**/*>d*rdef: created
Extract data f*les             *>/*>o**/*>d*rdat: created
*>Temporary*> f*les                /*>o**/*>d*rtmp: created
Stdout f*les                   *>/*>o**/*>d*rout: created
*v>

&*bsp;

(3)**>此时在源端scott下创建了两张测试表test1与test2(必须有主键):**>

SQL&*t;*> co** scott/*>t**er
Co**ected.

SQL*>&*t;*> create*> table*> test1 (*d *umber*>);
*>Table*> created.

SQL*>&*t;*> create*> table*> test2 (*ame varchar2*>(20*>));
*>Table*> created.

SQL*>&*t;*> **sert*> **to*> test1 values*> (1*>);
*>1*> row created.

SQL*>&*t;*> **sert*> **to*> test1 values*> (2*>);
*>1*> row created.

SQL*>&*t;*> **sert*> **to*> test1 values*> (3*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;
*>Comm*t*> complete.

SQL*>&*t;*> alter*> table*> test1 add*> co*stra**ts pk_test1 pr*mary*> key*>(*d);
*>Table*> altered.

SQL*>&*t;*> alter*> table*> test2 add*> co*stra**ts pk_test2 pr*mary*> key*>(*ame);
*>Table*> altered.

SQL*>&*t;*> **sert*> **to*> test2 values*>('*>x*j**p****>'*>);
*>1*> row created.

SQL*>&*t;*> **sert*> **to*> test2 values*>('*>l*keq*a***>'*>);
*>1*> row created.

SQL*>&*t;*> **sert*> **to*> test2 values*>('*>batma**>'*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;
*>Comm*t*> complete.
*v>

&*bsp;


&*bsp;

二、 Golde*Gate DML同步源端配置

1. 源MGR进程

1) **>编辑m*r程组**>

ed*t params m*r

port 7809*>
dy*am*cportl*st *>7800*>-*>7899*>
autorestart extract *>**>,retr*es 5*>,wa*tm**utes 2*>
pur*eoldextracts .*>/*>d*rdat/**>,usecheckpo**ts,m**keepdays 7
la*reporthours 1
la***fom**utes 30
la*cr*t*calm**utes 45*>
*v>

说明:*>

port 指定m*r进程通信端口*>

dy*am*cportl*st 表示m*r进程可以为源与目的端动态通信指定端口*>

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

配置参数后,重启m*r进程生效*>

pur*eoldextracts xxx,usercheckpo**ts,m**keepdays x表示tra*l文件会保留7天,o**会根据checkpo**t删除使用过的tra*l文件。*>

la*reporthours 1 每隔1小时检查一次extract和repl*cat的la*。*>

la***fom**utes 30 如果la*超过规定的值(la*cr*t*cal),会报错cr*t*cal。如果没问题,会每30分钟报告信息。*>

la*cr*t*calm**utes 45 会每隔45分钟报告cr*t*cal信息。*>

&*bsp;

2) **>启动主管理进程**>

GGSCI (o**1) 3&*t; start m*r

Ma*a*er started.

&*bsp;

GGSCI (o**1) 4&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; &*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

&*bsp;

2. 配置Extract进程组

1)GGSCI (o**1) 5&*t; ed*t params test_ext**>

GGSCI (o**1) 6&*t; v*ew param test_ext

extract test_ext
dy*am*cresolut*o*
sete*v (NLS_LANG*>=*>AMERICAN_AMERICA.ZHS16GBK)
user*d **s,password **s
exttra*l *>/*>o**/*>d*rdat/*>te
*>table*> scott.**>;
*v>

&*bsp;

2) **>添加抽取进程**>

GGSCI (o**1) 7&*t; add extract test_ext,tra*lo*,be*** *ow

E*TRACT added.

&*bsp;

3) **>添加本地tra*l文件,源extract进程负责写这部分文件,pump负责把这部分文件传到目标服务器端。**>

GGSCI (o**1) 8&*t; add exttra*l /o**/d*rdat/te,extract test_ext

E*TTRAIL added.

&*bsp;

GGSCI (o**1) 9&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; &*bsp;La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; STO**ED&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

E*TRACT&*bsp;&*bsp;&*bsp;&*bsp; STO**ED&*bsp;&*bsp;&*bsp;&*bsp; TEST_E*T&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:39&*bsp;&*bsp;&*bsp;

&*bsp;

说明:*>

extract eora定义extract进程名字*>

dy*am*cresolut*o**>

sete*v设置环境变量*>

user*d 登录数据库*>

exttra*l指定本地tra*l文件地址*>

table 定义同步的表*>

&*bsp;

4) **>启动服务**>

GGSCI (o**1) 16&*t; start extract test_ext

Se*d*** START request to MANAGER ...

E*TRACT TEST_E*T start***

&*bsp;

GGSCI (o**1) 17&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

E*TRACT&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp; TEST_E*T&*bsp;&*bsp;&*bsp; 00:03:07&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;

&*bsp;

此时观察d*rdat目录,可以发现抽取的文件:**>

[root@o**1 d*rdat]# pwd

/o**/d*rdat

[root@o**1 d*rdat]# ll

总计 4

-rw-rw-rw- 1 **s o**stall 988 07-08 21:09 te000000

&*bsp;

3. 配置*ump进程组

1) **>编辑配置文件**>

ed*t params test_p

extract test_p
dy*am*cresolut*o*
passthru
rmthost *>192.168*>.100.130*>,m*rport 7809*>,compress
rmttra*l *>/*>o**/*>d*rdat/*>tp
*>table*> scott.**>;
*v>

&*bsp;

2) **>添加pump进程**>

GGSCI (o**1) 21&*t; add extract test_p,exttra*lsource /o**/d*rdat/te

E*TRACT added.

&*bsp;

3) **>添加远程tra*l文件**>

GGSCI (o**1) 22&*t; add rmttra*l /o**/d*rdat/tp,extract test_p

RMTTRAIL added.

&*bsp;

4) **>启动pump进程**>

GGSCI (o**1) 23&*t; start extract test_p

Se*d*** START request to MANAGER ...

E*TRACT TEST_* start***

&*bsp;

GGSCI (o**1) 24&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; &*bsp;La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

E*TRACT&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp; TEST_E*T&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:02&*bsp;&*bsp;&*bsp;

E*TRACT&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp; TEST_*&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:58&*bsp;&*bsp;&*bsp;

&*bsp;


&*bsp;

三、 Golde*Gate DML同步目标端配置

1. 目标端MGR进程

1) **>编辑配置文件**>

GGSCI (o**2) 1&*t; v*ew param m*r

port 7809*>
dy*am*cportl*st *>7800*>-*>7899*>
pur*eoldextracts *>/*>o**/*>d*rdat/**>, usecheckpo**ts, m**keepdays 3*>
*v>

&*bsp;

2) **>启动**>

GGSCI (o**2) 2&*t; start m*r

Ma*a*er started.

&*bsp;

GGSCI (o**2) 3&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

&*bsp;

GGSCI (o**2) 4&*t; ex*t

此时在目标端的d*rdat中可以看到由源端传送过来的tra*l文件(如果没出现,可以在源端做几个事务即可,做完事务还没出现,那么就是配置有问题,好好检查源端pump和目标端m*r)*>

[root@o**2 d*rdat]# ll

总计 4

-rw-rw-rw- 1 **s o**stall 1634 07-08 21:45 tp000000

&*bsp;

2. 添加检查表

说明: 当我们在GLOBALS 文件里指定了默认的checkpo**t 之后,新的Repl*cat *roups 在创建时会自动使用这个参数,不需要其他指令*>

1) **>目标端编辑全局配置文件**>

ed*t params ./GLOBALS

CHECK*OINTTABLE **s.checkpo**t

2)**>ex*t #这里需要退出**sc*终端&*bsp;*>

3) **>添加checkpo**t表**>

[**s@o**2 o**]$ ./**sc*

GGSCI (o**2) 1&*t; dblo*** user*d **s,password **s

Successfully lo**ed **to database.

&*bsp;

GGSCI (o**2) 2&*t; add checkpo**ttable **s.checkpo**t

Successfully created checkpo**t table **s.checkpo**t.

&*bsp;

切换到数据库下,可以看到checkpo**t表*>

SQL&*t;*> co** **s/*>**s
Co**ected.

SQL*>&*t;*> select*> **> from*> tab;

TNAME                          TABTY*E  CLUSTERID
*>--*>---------------------------- ------- ----------*>
CHECK*OINT*>                     TABLE*>
CHECK*OINT_LO*                 *>TABLE*>
*v>

&*bsp;

3. 配置目标端repl*cat进程组

1) **>编辑配置文件**>

ed*t params test_r

repl*cat test_r
user*d **s,password **s
assumetar*etdefs
reperror *>default*>,d*scard
d*scardf*le *>/*>o**/*>d*rrpt/*>test_r.desc*>
dy*am*cresolut*o*
map scott.*>**>;tar*et scott.**>;
*v>

&*bsp;

2) **>添加复制进程,此时不要启动进程**>

GGSCI (o**2) 4&*t; add repl*cat test_r,exttra*l /o**/d*rdat/tp,checkpo**ttable **s.checkpo**t

RE*LICAT added.

&*bsp;

GGSCI (o**2) 5&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

RE*LICAT&*bsp;&*bsp;&*bsp; STO**ED&*bsp;&*bsp;&*bsp;&*bsp; TEST_R&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:14&*bsp;&*bsp;&*bsp;

&*bsp;


&*bsp;

四、查询源sc*,将源数据导入目标库

1.源库按照sc*导入到目标库

此时源端的数据:**>

SQL&*t;*> co** scott/*>t**er
Co**ected.

SQL*>&*t;*> select*> **> from*> test1;
        ID
*>--*>--------*>
         1*>
         2*>
         3*>
 
SQL*>&*t;*> select*> **> from*> test2;
NAME
*>--*>------------------*>
batma*
l*keq*a**
superma*
x*j**p***

此时源端的sc**>
SQL*>&*t;*> select*> curre*t_sc* from*> v$database*>;

CURRENT_SCN
*>--*>---------*>
     402721*>
*v>

&*bsp;

&*bsp;*>

按照sc*导出schema:**>

[oracle@o**1 dump]$ expdp system/oracle d*rectory=dump dumpf*le=scott.dmp schemas=scott flashback_sc*=402721

<*m* *d="code_*m*_closed_b056640d-7007-4434-a40a-5459c7581eb2" class="code_*m*_closed" src="http://*ma*es.c*blo*s.com/Outl*****I*d*cators/Co*tractedBlock.**f" alt="" /><*m* *d="code_*m*_ope*ed_b056640d-7007-4434-a40a-5459c7581eb2" class="code_*m*_ope*ed" style="d*splay: *o*e;" o*cl*ck="c*blo*s_code_h*de('b056640d-7007-4434-a40a-5459c7581eb2',eve*t)" src="http://*ma*es.c*blo*s.com/Outl*****I*d*cators/Expa*dedBlockStart.**f" alt="" />
Export: Release 10.2*>.0.5*>.0*> -*> 64b*t*> *roduct*o* o**> Tuesday, 08*> *uly, 2014*> 21*>:36*>:31*>

Copyr**ht (c) *>2003*>, 2007*>, Oracle.  All*> r**hts reserved.

Co**ected *>to*>: Oracle Database*> 10* E*terpr*se Ed*t*o* Release 10.2*>.0.5*>.0*> -*> 64b*t*> *roduct*o*

*>W*th*> the *art*t*o****, OLA*, Data M***** a*d*> Real*> Appl*cat*o* Test*** opt*o*s

FLASHBACK automat*cally e*abled *>to*> preserve database*> **te*r*ty.

Start*** "SYSTEM"."SYS_E**ORT_SCHEMA_01":  system*>/**>******* d*rectory=dump dumpf*le=scott.dmp schemas=scott flashback_sc*=402721

Est*mate ** pro*ress us*** BLOCKS method...

*rocess*** object type SCHEMA_E**ORT/TABLE/TABLE_DATA

Total est*mat*o* us*** BLOCKS method: 320 KB

*rocess*** object type SCHEMA_E**ORT/USER

*rocess*** object type SCHEMA_E**ORT/SYSTEM_GRANT

*rocess*** object type SCHEMA_E**ORT/ROLE_GRANT

*rocess*** object type SCHEMA_E**ORT/DEFAULT_ROLE

*rocess*** object type SCHEMA_E**ORT/*RE_SCHEMA/*ROCACT_SCHEMA

*rocess*** object type SCHEMA_E**ORT/TABLE/TABLE

*rocess*** object type SCHEMA_E**ORT/TABLE/INDE*/INDE*

*rocess*** object type SCHEMA_E**ORT/TABLE/CONSTRAINT/CONSTRAINT

*rocess*** object type SCHEMA_E**ORT/TABLE/INDE*/STATISTICS/INDE*_STATISTICS

*rocess*** object type SCHEMA_E**ORT/TABLE/CONSTRAINT/REF_CONSTRAINT
. . exported "SCOTT"."DE*T"                              5.656 KB       4 rows
. . exported "SCOTT"."EM*"                               7.820 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.585 KB       5 rows
. . exported "SCOTT"."TEST1"                             4.929 KB       3 rows
. . exported "SCOTT"."TEST2"                             4.960 KB       4 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "SYSTEM"."SYS_E**ORT_SCHEMA_01" successfully loaded/u*loaded
******************************************************************************
Dump f*le set for SYSTEM.SYS_E**ORT_SCHEMA_01 *s:
  /dump/scott.dmp
*ob "SYSTEM"."SYS_E**ORT_SCHEMA_01" successfully completed at 21:36:59*>
*v> V*ew Code*>
*v>

&*bsp;

源端模拟生产环境做出交易:**>*>

SQL&*t;*> co** scott/*>t**er
Co**ected.

SQL*>&*t;*> **sert*> **to*> test1 values*>(4*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;    
*>Comm*t*> complete.

SQL*>&*t;*> **sert*> **to*> test2 values*>('*>m*chael*>'*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;
*>Comm*t*> complete.
*v>

&*bsp;

传送至目标端:**>*>

[root@o**1 dump]# scp scott.dmp 192.168.100.130:/dump

root@192.168.100.130's password:

scott.dmp&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 100%&*bsp; 256KB 256.0KB/s&*bsp;&*bsp; 00:00&*bsp;&*bsp;&*bsp;

&*bsp;

目标端倒入:**>*>

[root@o**2 dump]# su - oracle

[oracle@o**2 ~]$ cd /dump

[oracle@o**2 dump]$ *mpdp system/oracle d*rectory=dump dumpf*le=scott.dmp

<*m* *d="code_*m*_closed_a709d48d-6df2-4199-af22-3bbf489d491a" class="code_*m*_closed" src="http://*ma*es.c*blo*s.com/Outl*****I*d*cators/Co*tractedBlock.**f" alt="" /><*m* *d="code_*m*_ope*ed_a709d48d-6df2-4199-af22-3bbf489d491a" class="code_*m*_ope*ed" style="d*splay: *o*e;" o*cl*ck="c*blo*s_code_h*de('a709d48d-6df2-4199-af22-3bbf489d491a',eve*t)" src="http://*ma*es.c*blo*s.com/Outl*****I*d*cators/Expa*dedBlockStart.**f" alt="" />
Import: Release 11.2*>.0.4*>.0*> -*> *roduct*o* o**> 星期二 7月 8*> 21*>:43*>:08*> 2014*>
Copyr**ht (c) *>1982*>, 2011*>, Oracle a*d/or*> *ts aff*l*ates.  All*> r**hts reserved.
连接到: Oracle *>Database*> 11* E*terpr*se Ed*t*o* Release 11.2*>.0.4*>.0*> -*> 64b*t*> *roduct*o*
*>W*th*> the *art*t*o****, OLA*, Data M***** a*d*> Real*> Appl*cat*o* Test*** opt*o*s
已成功加载*>/*>卸载了主表 "SYSTEM"."SYS_IM*ORT_FULL_01"
启动 "SYSTEM"."SYS_IM*ORT_FULL_01":  system*>/**>******* d*rectory=dump dumpf*le=scott.dmp
处理对象类型 SCHEMA_E**ORT/USER
处理对象类型 SCHEMA_E**ORT/SYSTEM_GRANT
处理对象类型 SCHEMA_E**ORT/ROLE_GRANT
处理对象类型 SCHEMA_E**ORT/DEFAULT_ROLE
处理对象类型 SCHEMA_E**ORT/*RE_SCHEMA/*ROCACT_SCHEMA
处理对象类型 SCHEMA_E**ORT/TABLE/TABLE
处理对象类型 SCHEMA_E**ORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."DE*T"                              5.656 KB       4 行
. . 导入了 "SCOTT"."EM*"                               7.820 KB      14 行
. . 导入了 "SCOTT"."SALGRADE"                          5.585 KB       5 行
. . 导入了 "SCOTT"."TEST1"                             4.929 KB       3 行
. . 导入了 "SCOTT"."TEST2"                             4.960 KB       4 行
. . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
处理对象类型 SCHEMA_E**ORT/TABLE/INDE*/INDE*
处理对象类型 SCHEMA_E**ORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_E**ORT/TABLE/INDE*/STATISTICS/INDE*_STATISTICS
处理对象类型 SCHEMA_E**ORT/TABLE/CONSTRAINT/REF_CONSTRAINT
作业 "SYSTEM"."SYS_IM*ORT_FULL_01" 已于 星期二 7月 8 21:43:26 2014 elapsed 0 00:00:17 成功完成*>
*v> V*ew Code*>
*v>

&*bsp;

2.验证目标库数据

此时的倒入的数据是源库sc*=402721时刻**>*>

SQL&*t;*> co** scott/*>t**er
已连接。

SQL*>&*t;*> select*> **> from*> test1;
        ID
*>--*>--------*>
         1*>
         2*>
         3*>
 
SQL*>&*t;*> select*> **> from*> test2;
NAME
*>--*>----------------------------------------------------------*>
batma*
l*keq*a**
superma*
x*j**p****>
*v>

&*bsp;

3.源库再次做出交易

SQL&*t;*> **sert*> **to*> test1 values*>(5*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;
*>Comm*t*> complete.

SQL*>&*t;*> **sert*> **to*> test2 values*>('*>jackso**>'*>);
*>1*> row created.

SQL*>&*t;*> comm*t*>;
*>Comm*t*> complete.
*v>

&*bsp;

&*bsp;*>

此时原库的tra*l文件te和目标库的tra*l文件tp应当都出现了赠长:**>*>

[root@o**1 d*rdat]# ll

总计 4

-rw-rw-rw- 1 **s o**stall 1611 07-08 21:44 te000000

[root@o**2 d*rdat]# ll

总计 4

-rw-rw-rw- 1 **s o**stall 1634 07-08 21:45 tp000000

&*bsp;

4.启动repl*cat(aftercs*)

GGSCI (o**2) 9&*t; start repl*cat test_r,aftercs* 402721*>

Se*d*** START request to MANAGER ...

RE*LICAT TEST_R start***

&*bsp;

GGSCI (o**2) 10&*t; **fo all

*ro*ram&*bsp;&*bsp;&*bsp;&*bsp; Status&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; Group&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; La* at Chkpt&*bsp; T*me S**ce Chkpt

MANAGER&*bsp;&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;&*bsp;

RE*LICAT&*bsp;&*bsp;&*bsp; RUNNING&*bsp;&*bsp;&*bsp;&*bsp; TEST_R&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;&*bsp;&*bsp; 00:00:00&*bsp;&*bsp;&*bsp;

&*bsp;

5.验证目标库数据

SQL&*t;*> co** scott/*>t**er
已连接。

SQL*>&*t;*> select*> **> from*> test1;

        ID
*>--*>--------*>
         1*>
         2*>
         3*>
         4*>
         5*>

SQL*>&*t;*> select*> **> from*> test2;
NAME
*>--*>----------------------------------------------------------*>
batma*
jackso*
l*keq*a**
m*chael
superma*
x*j**p***

已选择6行。*>
*v>

&*bsp;

&*bsp;

相关文章:

  • 2021-09-10
  • 2022-02-05
  • 2022-12-23
  • 2022-01-22
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-06-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-14
  • 2022-01-15
  • 2022-12-23
相关资源
相似解决方案