久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

ogg中關(guān)于handlecollisions的示例分析

133次閱讀
沒有評論

共計 3716 個字符,預(yù)計需要花費 10 分鐘才能閱讀完成。

今天就跟大家聊聊有關(guān) ogg 中關(guān)于 handlecollisions 的示例分析,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

handlecollisions

實驗環(huán)境參數(shù)

GGSCI (pc6 as ogg@hyyk) 11 edit params ext_s1

extract ext_s1

setenv (NLS_LANG= AMERICAN_AMERICA.AL32UTF8)

setenv (ORACLE_SID= hyyk)

userid ogg,password oracle

gettruncates

exttrail /u01/app/oggs/dirdat/ss

table sender.*;

GGSCI (pc6 as ogg@hyyk) 13 edit params pump_s1

extract pump_s1

passthru

userid ogg,password oracle

rmthost 192.168.1.80,mgrport 7809

rmttrail /u01/app/oggd/dirdat/sd

table sender.*;

GGSCI (ogg-80) 5 edit params rep_s1

replicat rep_s1

setenv(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

setenv(ORACLE_SID= ogg)

userid ogg,password oracle

–handlecollisions

ASSUMETARGETDEFS

–SOURCEDEFS /u01/app/oggd/dirdef/test.def

DISCARDFILE ./dirrpt/rorabb.dsc,PURGE

userid ogg,password oracle

map sender.tb21,target receiver.tb21;

1、源和目標建表(當然源和目標都要有主鍵)

源:

create table tb21(col1 int primary key, col2 int);

insert into tb21 values(1,1);

insert into tb21 values(2,1);

insert into tb21 values(3,1);

insert into tb21 values(4,1);

commit;

查看數(shù)據(jù)

SENDER@hyyk select * from tb21;

COL1 COL2

———- ———-

1    1

2    1

3    1

4    1

目標:

create table tb21(col1 int primary key, col2 int);

insert into tb21 values(1,1);

commit;

查看數(shù)據(jù)

RECEIVER@ogg select * from tb21;

COL1 COL2

———- ———-

1    1

添加附加日志,加入復(fù)制鏈路

GGSCI (pc6 as ogg@hyyk) 8 add trandata sender.tb21

Logging of supplemental redo data enabled for table SENDER.TB21.

TRANDATA for scheduling columns has been added on table SENDER.TB21 .

TRANDATA for instantiation CSN has been added on table SENDER.TB21 .

2、測試 delete

無 handlecollisions

源:

delete from tb21 where col1=2;

commit;

目標端查看進程狀態(tài)

GGSCI (ogg-80) 24 info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    ABENDED     REP_S1      00:00:04      00:00:02

復(fù)制進程 abend,2018-03-18 11:09:38  ERROR   OGG-01296  Error mapping from SENDER.TB21 to RECEIVER.TB21.

可以在目標上設(shè)置:加 handlecollisions(或者 start rep2, skiptransaction)可以跳過,用 stats rep2 看一下;

GGSCI (ogg-80) 32 stats rep_s1

Sending STATS request to REPLICAT REP_S1 …

Start of Statistics at 2018-03-18 11:13:44.

Replicating from SENDER.TB21 to RECEIVER.TB21:

*** Total statistics since 2018-03-18 11:13:34 ***

Total inserts                                    0.00

Total updates                             0.00

Total deletes                             1.00

Total discards                             0.00

Total operations                           1.00

Total delete collisions                   1.00

這里的 delete 變成了 delete collisions

3、測試 update

如果目標上不存在這個記錄

(1)update 鍵值時:

源:

update tb21 set col1=5 where col1=3;

commit;

SENDER@hyyk select * from tb21;

COL1 COL2

———- ———-

1    1

5    1

4    1

無 handlecollisions 時,會 abend;

有 handlecollisions 時,會變成 insert;但是此時需要加:源端:FETCHOPTIONS FETCHPKUPDATECOLS(將捕獲完整日志鏡像到 trail 中,轉(zhuǎn)換為對 target 的一個完整記錄的插入,相當于 fetchcol(*))

目標端查看

RECEIVER@ogg select * from tb21;

COL1 COL2

———- ———-

5    1

1    1

我們使用 logdump 查看 trail

2018/03/18 11:20:44.000.000 GGSUnifiedPKUpdate   Len    31 RBA 1830

Name: SENDER.TB21  (TDR Index: 1)

After  Image:                                             Partition 12   G  s

0000 0009 0000 0005 0000 0001 3300 0000 0500 0000 | …………3…….

0135 0001 0005 0000 0001 31                       | .5……..1

Before Image          Len    13 (x0000000d)

BeforeColumnLen      9 (x00000009)

Column     0 (x0000), Len     5 (x0005)

After Image           Len    18 (x00000012)

Column     0 (x0000), Len     5 (x0005)

Column     1 (x0001), Len     5 (x0005)

(2)update 非鍵值時:

源:

update tb21 set col2=4 where col1=4;

commit;

SENDER@hyyk select * from tb21;

COL1 COL2

———- ———-

1    1

6    5

5    1

4    4

加了 handlecollisions

RECEIVER@ogg select * from tb21;

COL1 COL2

———- ———-

4    4

5    1

1    1

6    5

如果是 ogg11g 加了 handlecollisions 也沒有反應(yīng),數(shù)據(jù)也會不一致

需要在目標端加入 INSERTMISSINGUPDATES 參數(shù),即可解決。

4、測試 insert

源端 insert 的 pk 和目標沖突時,會以源端為準;

目標首先插入一條:

insert into tb21 values(6,1);

commit;

RECEIVER@ogg select * from tb21;

COL1 COL2

———- ———-

5    1

1    1

6    1

然后源端插入:

insert into tb21 values(6,5);

SENDER@hyyk select * from tb21;

COL1 COL2

———- ———-

1    1

6    5

5    1

4    1

加 handlecollisions,

RECEIVER@ogg select * from tb21;

COL1 COL2

———- ———-

5    1

1    1

6    5

看最后目標的記錄如何,實際會變成以源端為準。

看完上述內(nèi)容,你們對 ogg 中關(guān)于 handlecollisions 的示例分析有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-17發(fā)表,共計3716字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 南城县| 陕西省| 会同县| 若羌县| 温州市| 蒲城县| 讷河市| 云霄县| 蛟河市| 额尔古纳市| 云林县| 行唐县| 乌苏市| 都江堰市| 四川省| 光泽县| 施甸县| 临颍县| 蚌埠市| 酒泉市| 青阳县| 江达县| 嵊州市| 小金县| 丰镇市| 光山县| 旬邑县| 融水| 太保市| 乌鲁木齐县| 阳东县| 丘北县| 泾川县| 织金县| 綦江县| 邵阳县| 怀远县| 遵化市| 九龙坡区| 邵阳市| 运城市|