当前位置: 首页 > DDS > 正文

环境介绍:

源端:ORACLE 10.2.0.4

目标端1ORACLE 11.2.0.4

目标端2ORACLE 11.2.0.3 新增加的节点

 

1,新节点安装DDS软件

见:目标端安装

2,停源端,修改文件

停源端

[dds@www.htz.pw bin]$ddstop

修改tgt.cfg文件

[dds@www.htz.pw bin]$cat !$

cat $DDS_DATA/config/tgt.cfg

#tgtID NextSendNo NextSaveNo Communication-Param  Web-Comm-Param    TcpFlow(KB/s)

# 1    0          0          TCP 192.168.1.1:8204   192.168.1.1:8304  0

1       0       0       TCP     192.168.111.5:8204

2       0       0       TCP     192.168.111.5:8205

 

[dds@www.htz.pw config]$tail -4 map.cfg

1 1 USER RUN scott

2 1 USER RUN htz

3 1 USER RUN huang

4 2 USER STOP htz

这里需要注意上面这一行红色的部分

3,开始目标端2的同步

[dds@www.htz.pw data]$cat map_restarttgt2

ddsplus -c localhost:8203 -l dds/dds -b <<! > map_restarthuang.log &

map start id=4

tgt resume id=2;

idx resume tgtid=2;

privilege tgtid=2;

!

 

[dds@www.htz.pw data]$ddstart

Copyright: Beijing Jiuqiao Software LTD.

EMAIL/MSN: tb2oracle@163.com

      TEL: 010-82255433

      FAX: 010-82255433-2003

  License: need check

iStream DDS–PMONS x86_64 Linux 3.2.9-1-ARCH Ver2.13.9.p17.q 2013/11/21 15:12:44 (BIT-64)

        With 204800 objects & 256 mappings

 

0804080758[5.PMONS] License valid date is 2013/03/12 — 2018/09/02 (2000 Days)

 

查看map的情况

[dds@www.htz.pw data]$vshms -m

 

Mapping Info(4 mappings, MAX 256):

           ID TgtID TYPE   STATE 

            1     1 USER   RUN      [scott]

            2     1 USER   RUN      [htz]

            3     1 USER   RUN      [huang]

            4     2 USER   STOP     [htz]

 

查看目标端的情况

[dds@www.htz.pw data]$vshms -t

 

Target Info ( count=2 MAX=4 )

           ID TYPE        NEXT_R_NO  NEXT-W-NO COMM-PARAM           WEB-PARAM            FLOW(KB/s) Delay(s)

            1 TCP                 0          0 192.168.111.5:8204                                 0 0

            2 TCP                 0          0 192.168.111.5:8205                                 0 0

 

TGT#01  PARAM:192.168.111.5:8204       Flow(bytes), 0, 0, 0, 0, 0

TGT#02  PARAM:192.168.111.5:8205       Flow(bytes), 0, 0, 0, 0, 0

 

 

[dds@www.htz.pw data]$./map_restarttgt2

 

查看同步的日志

[dds@www.htz.pw data]$cat map_restarthuang.log

help, quit, …

 

DDS> <StartMapping ID="4" Mode="F" Method="S" TruncateTarget="Y" NREADER="1" RESTART="0" />

Time: 2014-08-04 08:08:44

Successful: YES

Time: 2014-08-04 08:08:46 (2 seconds) 这里可以看到同步已经成功。

DDS> <result ok="YES" cmd="Tgt" do=RESUME tgtid=2/>

 

DDS> <result ok="YES" cmd="IDX" do=resume tgtid=2/>

 

DDS> <result ok="YES" cmd="Privilege"/>

 

4,测试DML是否同步

源端新增加一个表,测试是否同步

www.htz.pw > create table htz.htz as select * from dba_objects;

 

Table created.

 

查看源端日志

0804081042[5.COM01] PCOMM: SEND /oracle/app/dds/1024/data/comm/2.945.dtf(len=1048) OK

0804081042[5.COM00] PCOMM: SEND /oracle/app/dds/1024/data/comm/1.945.dtf(len=1048) OK

0804081042[5.COM01] PCOMM: SEND /oracle/app/dds/1024/data/comm/2.946.dtf(len=3152066) OK

0804081042[5.COM00] PCOMM: SEND /oracle/app/dds/1024/data/comm/1.946.dtf(len=3152066) OK

0804081042[5.COM01] PCOMM: SEND /oracle/app/dds/1024/data/comm/2.947.dtf(len=1764459) OK

0804081042[5.COM00] PCOMM: SEND /oracle/app/dds/1024/data/comm/1.947.dtf(len=1764459) OK

这里看到源端日志正常,将日志分发到两个目标端,每个目标端使用一个comm进程来传输

 

查看目标端2的日志

没有任何新增加的日志

 

查看目标端1的日志

08/04/2014 08:10:42[5.PUT00] TRUNCATE TABLE "HTZ"."HTZ"

08/04/2014 08:10:42[5.PUT00] CY I-0 U-0 D-0 DDL-1 IGN=0 BAD-0 Time:839ms CO:1 CC:2/50   Delay(s):4(1~3~9)

08/04/2014 08:10:42[5.PUT00] Load /oracle/app/dds/1124/data/put0/0/946.dtf (LEN=3152066)

08/04/2014 08:10:44[5.PUT00] CY I-32273 U-0 D-0 DDL-0 IGN=0 BAD-0 Time:1579ms CO:1 CC:0/50      Delay(s):6(1~3~9)

08/04/2014 08:10:44[5.PUT00] Load /oracle/app/dds/1124/data/put0/0/947.dtf (LEN=1764459)

08/04/2014 08:10:45[5.PUT00] CY I-17808 U-0 D-0 DDL-0 IGN=0 BAD-0 Time:686ms CO:0 CC:0/50       Delay(s):7(1~4~9)

目标端1的日志一切正常,但是目标端2的日志没有任何的输出

5,处理目标端2不能正常装载情况

 

通过svhmt -c可以看到下面的情况

  Total          : IRP-0 URP-0 DRP-0 DDL-0 TXN-0

  DelayTime      : MIN-0 MAX-0 AVG-0

  put0           : 0/948

  his0           : 5/5

  SRC#0          : SOURCE       192.168.111.5:8203:8303

这里代表的意思是0代表不装载数据,948代表目标端接收到最大编号的dtf文件

 

put0下面查看dtf文件接收正常

  [dds@www.htz.pw 0]$ls -lrt

total 4820

-rw-r—–  1 dds oinstall      90 Aug  4 08:08 944.dtf

-rw-r—–  1 dds oinstall 1764459 Aug  4 08:10 947.dtf

-rw-r—–  1 dds oinstall 3152066 Aug  4 08:10 946.dtf

-rw-r—–  1 dds oinstall    1048 Aug  4 08:10 945.dtf

[dds@www.htz.pw 0]$vshow -3 945.dtf

————– 945.dtf (len=1048)

 

–BEGIN WORK; SCN:0xf66cf Time:2014/08/04 08:10:37 OracleVer:169870080

CREATE TABLE "HTZ"."HTZ" (

        "OWNER" VARCHAR2(30) NULL

,       "OBJECT_NAME"   VARCHAR2(128) NULL

,       "SUBOBJECT_NAME"        VARCHAR2(30) NULL

,       "OBJECT_ID"     NUMBER NULL

,       "DATA_OBJECT_ID"        NUMBER NULL

,       "OBJECT_TYPE"   VARCHAR2(19) NULL

,       "CREATED"       DATE NULL

,       "LAST_DDL_TIME" DATE NULL

,       "TIMESTAMP"     VARCHAR2(19) NULL

,       "STATUS"        VARCHAR2(7) NULL

,       "TEMPORARY"     VARCHAR2(1) NULL

,       "GENERATED"     VARCHAR2(1) NULL

,       "SECONDARY"     VARCHAR2(1) NULL

) PCTFREE 10 INITRANS 6 MAXTRANS 255 STORAGE(

        FREELISTS 1     FREELIST GROUPS 1       INITIAL 65536

        MINEXTENTS 1

        MAXEXTENTS 2147483645

)

 TABLESPACE "USERS";

 

COMMIT; –SCN:0xf6721 Time:2014/08/04 08:10:38 Session:142.137

这里说明 DTF文件肯定是正常的。

下面手动装载dtf文件

[dds@www.htz.pw 0]$oput 945.dtf

08/04/2014 08:36:24[5.PUT00] TGT DB VER 11

08/04/2014 08:36:24[5.PUT00] Loader-threads = 1

08/04/2014 08:36:24[5.PUT00] Load 945.dtf (len=1048)

08/04/2014 08:36:24[5.PUT00] CREATE TABLE HTZ.HTZ

08/04/2014 08:36:26[5.PUT00] CY I-0 U-0 D-0 DDL-1 IGN=0 BAD-0 Time:1175ms CO:1 CC:1/23  Delay(s):1548(1548~1548~1548)

[dds@www.htz.pw 0]$oput 946.dtf

08/04/2014 08:36:43[5.PUT00] TGT DB VER 11

08/04/2014 08:36:43[5.PUT00] Loader-threads = 1

08/04/2014 08:36:43[5.PUT00] Load 946.dtf (len=3152066)

08/04/2014 08:36:46[5.PUT00] CY I-32273 U-0 D-0 DDL-0 IGN=0 BAD-0 Time:3721ms CO:1 CC:0/23      Delay(s):1568(1568~1568~1568)

[dds@www.htz.pw 0]$oput 947.dtf

08/04/2014 08:36:57[5.PUT00] TGT DB VER 11

08/04/2014 08:36:57[5.PUT00] Loader-threads = 1

08/04/2014 08:36:57[5.PUT00] Load 947.dtf (len=1764459)

08/04/2014 08:36:58[5.PUT00] CY I-17808 U-0 D-0 DDL-0 IGN=0 BAD-0 Time:689ms CO:1 CC:0/23       Delay(s):1580(1580~1580~1580)

[dds@www.htz.pw 0]$oput 948.dtf

08/04/2014 08:37:01[5.PUT00] TGT DB VER 11

08/04/2014 08:37:01[5.PUT00] Loader-threads = 1

08/04/2014 08:37:01[5.PUT00] Load 948.dtf (len=90)

08/04/2014 08:37:01[5.PUT00] CY I-0 U-0 D-0 DDL-0 IGN=0 BAD-0 Time:0ms CO:0 CC:0/23     Delay(s):979(979~979~979)

 

www.htz.pw > select count(*) from htz.htz;

 

  COUNT(*)

———-

     50081

 

手动装载正常

 

查看 putfile.fno文件内容,从putfile.fno中,我们发现了异常,这个文件正常的时候,其实只有一行内容。

左边的是下一次要装载的交易文件编号,右边的是源端已经发送到目标端的文件最大编号。

[dds@www.htz.pw put0]$cat putfile.fno

0 0

944

945

946

947

948

949

950

951

952

953

954

955

956

957

958

959

960

961

962

963

964

965

966

967

968

969

DDS后,手动修改putfile.fno文件。

将第一个0更改为947,第二个文件更改为put0/0中最大的日志编号

重启dds进程后,加载正常。

这里我们需要对比一下数据,是否有异常,通宵情况下都会导致异常的,在这里,其实我们也可以通过手动修改putfile.fno文件来达到手动跳过某个dtf文件继续加载的目的。

DDS 增加目标端节点:等您坐沙发呢!

发表评论

gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen

快捷键:Ctrl+Enter