溫馨提示×

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

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

如何理解OGG的initial load和

發(fā)布時(shí)間:2021-11-03 17:52:28 來(lái)源:億速云 閱讀:184 作者:柒染 欄目:建站服務(wù)器

這篇文章將為大家詳細(xì)講解有關(guān)如何理解OGG的initial load和,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

Initial load

可分為幾種:

除去第一種方法,其余均需要initial-load extractinitial-load replicat;在同步initial-load期間的change時(shí),replicat都需要添加handlercollisions參數(shù),并在同步完成后去除;

 

Loading data with a database utility

使用db copy utility創(chuàng)建target db,等copy完成啟用change-sync replicat同步期間產(chǎn)生的change;此過(guò)程完成后開(kāi)始正常的數(shù)據(jù)同步;

因?yàn)椴恍枰?/span>initial-load extract/replicat,也無(wú)須為之配備參數(shù)文件

 

Loading data from file to replicat

使用initial-load extractsource table寫(xiě)入remote extract文件(canonical格式),由initial-load replicat將其加逐行載入數(shù)據(jù)庫(kù),因此效率較低;

大致步驟

1 啟動(dòng)sourcemanager進(jìn)程:start manager;

2 編輯initial-load extract參數(shù)文件:edit params <initial-load extract name>

SOURCEISTABLE標(biāo)明extractinitial load,直接從source table獲取數(shù)據(jù)

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE  --指定remote extract文件,不需要維護(hù)checkpoing

TABLE hr.*;

TABLE sales.*;

3 編輯target initial-load repicat的參數(shù)文件:edit params <initial-load replicat name>

SPECIALRUNreplicat設(shè)定為一次性運(yùn)行,不需要checkpoint

END RUNTIME當(dāng)load完成后終結(jié)replicat

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld –聲明由extract指定的rmtfile

SOURCEDEFS /ggs/dirdef/source_defs – 當(dāng)source/target表結(jié)構(gòu)不同時(shí)使用,def文件由defgen生成;如果表結(jié)構(gòu)一致則使用assumetargetdefs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動(dòng)change extract進(jìn)程:start extract <extract group name>

5 啟動(dòng)initial-load extract進(jìn)程:$/<initial-load extract name>.prm reportfile <path name>  --通過(guò)initial-load extract參數(shù)文件名啟動(dòng),監(jiān)控狀態(tài)直至extraction完成

6 啟動(dòng)initial-load replicat進(jìn)程:$/<initial-load replicat name>.prm reportfile <path name> --通過(guò)initial-load replicat參數(shù)文件啟動(dòng),監(jiān)控直至完成

7 啟動(dòng)change replicat進(jìn)程:start replicat <replicat group name>

8 監(jiān)控change replicat狀態(tài):info replicat <replicat group name> --直至應(yīng)用完所有initial load產(chǎn)生的change,如果initial-load extract12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);

9 移除change replicathandlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件

 

 

Load data from file to database utility

使用initial-load extractsource table寫(xiě)入remote ASCII文件,通過(guò)db utility加載到target db,initial-load replicat會(huì)生成run and control files輔助db utility;數(shù)據(jù)轉(zhuǎn)換必須由initial-load extract執(zhí)行;

大致步驟

1 啟動(dòng)sourcemanager進(jìn)程:start manager;

2 編輯initial-load extract參數(shù)文件:edit params <initial-load extract name>

SOURCEISTABLE聲明extractinitial-load

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE –指定remote extract文件

FORMATASCII, SQLLOADER將輸出格式化為ASCII文本,替代默認(rèn)的canonical格式,可選項(xiàng)包括BCPSQLLOADER

TABLE hr.*;

TABLE sales.*;

3 編輯target initial-load repicat的參數(shù)文件:edit params <initial-load replicat name>

GENLOADFILES sqlldr.tpl  --生成run and control files,輔助db utility加載數(shù)據(jù),該文件動(dòng)態(tài)生成不可人工干預(yù)

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動(dòng)change extract進(jìn)程:start extract <extract group name>

5 啟動(dòng)initial-load extract進(jìn)程:$/<initial-load extract name>.prm reportfile <path name>  --通過(guò)initial-load extract參數(shù)文件名啟動(dòng),監(jiān)控狀態(tài)直至extraction完成

6 啟動(dòng)initial-load replicat進(jìn)程:$/<initial-load replicat name>.prm reportfile <path name> --通過(guò)initial-load replicat參數(shù)文件啟動(dòng),監(jiān)控直至完成

7 加載target db:通過(guò)步驟6生成的ASCII文本文件和run and control files,使用db utility將其加載至target db,監(jiān)控直至完成

7 啟動(dòng)change replicat進(jìn)程:start replicat <replicat group name>

8 監(jiān)控change replicat狀態(tài):info replicat <replicat group name> --直至應(yīng)用完所有initial load產(chǎn)生的change,如果initial-load extract12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);

9 移除change replicathandlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件

 

 

 

Load data with OGG direct load

使用initial-load extractsource table直接發(fā)送至initial-load replicat task(manager動(dòng)態(tài)生成,不需要collector進(jìn)程),由后者通過(guò)large block加載到target;不支持log/long/UDT/大于4K的數(shù)據(jù)字段;

Target端使用dynamicportlistreplicat分配port,加速查詢(xún)和綁定過(guò)程;

大致步驟

1 啟動(dòng)sourcemanager進(jìn)程:start manager

2 添加并編輯initial-load extract參數(shù)文件:add extract < initial-load extract name>, sourceistable/edit params <initial-load extract name>

EXTRACT initext  --指定initial-load extract 進(jìn)程名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep指導(dǎo)targetmanager動(dòng)態(tài)啟動(dòng)一次性initial-load replicat,

TABLE hr.*;

TABLE sales.*;

3 添加編輯target initial-load repicat的參數(shù)文件:add replicat initrep, specialran/edit params initrep

REPLICAT initrep 指定initial-load replicat task

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動(dòng)change extract進(jìn)程:start extract <extract group name>

5 啟動(dòng)initial-load extract進(jìn)程:start extract <initial-load extract name>,會(huì)自動(dòng)啟動(dòng)initial-load replicat

6 監(jiān)控initial-load進(jìn)程,在target執(zhí)行view report <initial-load extract name>直至完成

7 啟動(dòng)change replicat進(jìn)程:start replicat <replicat group name>

8 監(jiān)控change replicat狀態(tài):info replicat <replicat group name> --直至應(yīng)用完所有initial load產(chǎn)生的change,如果initial-load extract12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);

9 移除change replicathandlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件

 

 

Load data with a direct bulk load to SQL*Loader

使用initial-load extractsource table發(fā)送給initial-load replicat,后者同SQL*Loader結(jié)合執(zhí)行直接路徑加載;

此方法只用于OracleSQL*Loader,不適合其他數(shù)據(jù)庫(kù);不支持lob/long類(lèi)型;

1 啟動(dòng)sourcemanager進(jìn)程:start manager;

2 編輯initial-load extract參數(shù)文件:edit params <initial-load extract name>

EXTRACT initext –指定initial-load extract進(jìn)程名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep指導(dǎo)targetmanager動(dòng)態(tài)啟動(dòng)initial-load replicat,為一次性任務(wù)

TABLE hr.*;

TABLE sales.*;

3 添加/編輯target initial-load repicat的參數(shù)文件:add replicat <initial-load repliact name>m, specialrun/edit params <initial-load replicat name>

REPLICAT initrep

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

BULKLOAD –指導(dǎo)replicatoracle sql*loader接口協(xié)同工作

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動(dòng)change extract進(jìn)程:start extract <extract group name>

5 啟動(dòng)initial-load extract進(jìn)程:start extract <initial-load extract name>,會(huì)自動(dòng)啟動(dòng)initial-load replicat

6 監(jiān)控initial-load進(jìn)程,在target執(zhí)行view report <initial-load extract name>直至完成

7 啟動(dòng)change replicat進(jìn)程:start replicat <replicat group name>

8 監(jiān)控change replicat狀態(tài):info replicat <replicat group name> --直至應(yīng)用完所有initial load產(chǎn)生的change,如果initial-load extract12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);

9 移除change replicathandlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件

 

 

 

Online change sync

大致分為

創(chuàng)建checkpoint

創(chuàng)建extract

創(chuàng)建extract參數(shù)文件

創(chuàng)建trail

創(chuàng)建replicat

創(chuàng)建replicat參數(shù)文件

 

每個(gè)manager最多支持5000個(gè)并發(fā)extractreplicat組,可根據(jù)活躍程度為不同的表單獨(dú)分配extract,每個(gè)extract單獨(dú)對(duì)應(yīng)一個(gè)data pumpsreplicat組;

 

Checkpoint

可被多個(gè)OGG instance共享,也可創(chuàng)建多個(gè)表,每個(gè)replicat組對(duì)應(yīng)一個(gè);

創(chuàng)建方式:

1

GLOBALS文件聲明

每個(gè)通過(guò)add replicat新建的replicat組均可自動(dòng)使用

編輯GLOBALS文件Edit params ./GLOBALS

添加參數(shù) checkpointtabl <owner>.<table>

通過(guò)GGSCI登陸數(shù)據(jù)庫(kù)dblogin sourcedb <dsn>, userid <db_user>, password <pw>

執(zhí)行add checkpointtabl <owner>.<table>

 

2

創(chuàng)建replicat時(shí)聲明

add replicat checkpointtable,覆蓋GLOBALS文件;如果指定nodbcheckpoint,則使用checkpoint file;

 

創(chuàng)建online extract group

ADD EXTRACT <group name>

{, <datasource>} –指定數(shù)據(jù)源;tranlog—事務(wù)日志,integrated tranlog—integrated模式接受LCR,只用于oracle,VAM—用于teradatavamtrailsource <name>--指定VAM trail,exttrailsource <name>--指定本地trail

{, BEGIN <start point>} | {<position point>} –可選值:now—add extract時(shí)間點(diǎn)起,對(duì)data pump最好不要使用;<YYYY-MM-DD HH:MM>--指定時(shí)間點(diǎn)

[, PASSIVE] –配合alias extract使用,當(dāng)從target發(fā)起連接時(shí)用到

[, THREADS <n>]  --只在RAC下使用,指定redo線程數(shù)

[, PARAMS <pathname>]  --若其參數(shù)文件沒(méi)有存儲(chǔ)在dirprm子目錄,則需顯示聲明

[, REPORT <pathname>] –若進(jìn)程報(bào)告存于非dirrpt子目錄,則需顯示聲明

[, DESC “<description>”]

 

創(chuàng)建alias extract

ADD EXTRACT <group name>

, RMTHOST {<host name> | <IP address>}

, {MGRPORT <port>} | {PORT <port}

[, RMTNAME <name>]  --指定passive extract

[, DESC “<description>”]

 

創(chuàng)建trail

data pumpreplicat負(fù)責(zé)讀取,teradata則需要VAM-sort extract;

trail單獨(dú)分配一個(gè)磁盤(pán);

添加trail

ADD {RMTTRAIL | EXTTRAIL} <pathname>, EXTRACT <group name> [, MEGABYTES <n>] –默認(rèn)n100

 

創(chuàng)建online replicat

ADD REPLICAT <group name>, EXTTRAIL <pathname>

[, BEGIN <start point> | , EXTSEQNO <seqno>, EXTRBA <rba>] –指定exttrail開(kāi)始讀取的文件號(hào)和相對(duì)塊地址

[, CHECKPOINTTABLE <owner.table>]

[, NODBCHECKPOINT]

[, PARAMS <pathname>]

[, REPORT <pathname>]

 

控制online process

啟動(dòng)

Start [extract|replicat] <group name>

可配置manager參數(shù)文件,autostart為自動(dòng)啟動(dòng),autorestart自動(dòng)重啟動(dòng)

停止

Stop [extract|replicat] <group name>

強(qiáng)制關(guān)閉replicat stop replicat <group name> !

殺死

Kill [extract|replicat] <group name>

一次執(zhí)行操作多個(gè)進(jìn)程

<command> ER <wildcard specification>

--可選命令為start/stop/kill

刪除進(jìn)程組

停止相應(yīng)進(jìn)程后,可將其刪除但可同時(shí)保留參數(shù)文件,后續(xù)可重新添加同樣組;

GGSCI登陸數(shù)據(jù)庫(kù),執(zhí)行delete [extract|replicat] <group name>

關(guān)于如何理解OGG的initial load和就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

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

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

ogg
AI