溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行GoldenGate附加日志的理解

發(fā)布時間:2021-11-12 09:31:17 來源:億速云 閱讀:445 作者:柒染 欄目:關(guān)系型數(shù)據(jù)庫

本篇文章為大家展示了如何進(jìn)行GoldenGate附加日志的理解,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

附加日志是什么呢?使用OGG的時候?yàn)槭裁葱枰蜷_附加日志?

一、OGG需要打開附加日志的原因

GoldenGate實(shí)現(xiàn)主備庫的復(fù)制是不是單純的基于SQL的復(fù)制,而是基于邏輯變化復(fù)制(LCR)的復(fù)制。

         而要實(shí)現(xiàn)這種邏輯上的復(fù)制ORACLE需要打開附加日志,記錄額外需要的信息。
二、附加日志

附加日志(supplemental log)可以指示數(shù)據(jù)庫在日志中添加額外信息到日志流中,以支持基于日志的工具,如邏輯standby、GoldenGate、LogMiner等等??梢栽跀?shù)據(jù)庫和表上設(shè)置。

 附加日志 分別有最小附加日志(minimal supplemental logging)和標(biāo)識鍵日志(identification key logging)兩種。

GoldenGate在部署時明確要求打開的是最小附加日志。而最小附加日志可以確保LogMiner(或其他任何基于LogMiner的產(chǎn)品)可以支持行鏈接、簇表、索引組織表等。
三、表級附加日志

除此之外,在復(fù)制過程中還要求添加表級附加日志。即添加trandata

添加表級附加日志的過程是這樣的:如果有主鍵則只加入主鍵;無主鍵添加唯一索引;兩者皆無,則添加所有列。

而將主鍵或唯一索引添加入附加日志,是因?yàn)橹鱾鋷斓男枰?,原因如下?

主庫的數(shù)據(jù)改變了,GoldenGate又不是基于SQL的復(fù)制,想要改變備庫的數(shù)據(jù),就要對主備庫建立映射關(guān)系。而每張表的主鍵或者唯一鍵就是很好選擇。為什么呢。因?yàn)橹灰阎鱾鋷斓谋硐葘?yīng)起來,然后再通過主鍵或者唯一鍵映射,主鍵或者唯一鍵都是唯一的,所以主庫上修改了一行數(shù)據(jù)。備庫上自然有一行數(shù)據(jù)與其對應(yīng)。

比如:當(dāng)我們執(zhí)行這個語句的時候,trail文件至少有以下信息

          update dept set dname='Personnel' where dname='RESEARCH';

 鏡像 
deptno 
DNAME 
   table
后鏡像    
20 Personnel 
emp.dept

trail文件中會寫入上述后鏡像的一些信息,從庫在通過這些信息修改備庫數(shù)據(jù)。

ps:也有一些其他的數(shù)據(jù)庫通過記錄rowid方式實(shí)現(xiàn),但這種方法有明顯的弊端。

四、開啟附加日志需要注意的有:

1.對于無主鍵和唯一鍵的表,雖然可以以所有列作為基準(zhǔn)代替,但是這種表會產(chǎn)生大量的日志量和回滾段的開銷。

2.在添加附加日志時。有時候Lock會導(dǎo)致無法打開表的附加日志;

3.添加過程中如果一個表報錯未加成功,后面就不執(zhí)行,后面的表全部未增加附加日志;

這里只是列舉了部分,其他的還需要自己發(fā)現(xiàn)或在生產(chǎn)中總結(jié)

上述內(nèi)容就是如何進(jìn)行GoldenGate附加日志的理解,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI