您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)如何理解OGG的initial load和,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
Initial load
可分為幾種:
除去第一種方法,其余均需要initial-load extract或initial-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 extract將source table寫(xiě)入remote extract文件(canonical格式),由initial-load replicat將其加逐行載入數(shù)據(jù)庫(kù),因此效率較低;
大致步驟
1 啟動(dòng)source的manager進(jìn)程:start manager;
2 編輯initial-load extract參數(shù)文件:edit params <initial-load extract name>
SOURCEISTABLE – 標(biāo)明extract為initial load,直接從source table獲取數(shù)據(jù)
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager 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>
SPECIALRUN –將replicat設(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 extract在12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);
9 移除change replicat的handlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件
Load data from file to database utility
使用initial-load extract將source 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)source的manager進(jìn)程:start manager;
2 編輯initial-load extract參數(shù)文件:edit params <initial-load extract name>
SOURCEISTABLE –聲明extract為initial-load
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager port
ENCRYPTTRAIL AES192, KEYNAME mykey1
RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE –指定remote extract文件
FORMATASCII, SQLLOADER –將輸出格式化為ASCII文本,替代默認(rèn)的canonical格式,可選項(xiàng)包括BCP和SQLLOADER
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 extract在12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);
9 移除change replicat的handlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件
Load data with OGG direct load
使用initial-load extract將source 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端使用dynamicportlist為replicat分配port,加速查詢(xún)和綁定過(guò)程;
大致步驟
1 啟動(dòng)source的manager進(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)target的manager動(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 extract在12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);
9 移除change replicat的handlecollisions參數(shù):send replicat <replicat group name>, nohandlecollisions,然后更新repliat參數(shù)文件
Load data with a direct bulk load to SQL*Loader
使用initial-load extract將source table發(fā)送給initial-load replicat,后者同SQL*Loader結(jié)合執(zhí)行直接路徑加載;
此方法只用于Oracle的SQL*Loader,不適合其他數(shù)據(jù)庫(kù);不支持lob/long類(lèi)型;
1 啟動(dòng)source的manager進(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)target的manager動(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)replicat同oracle 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 extract在12:05結(jié)束,確保replicat應(yīng)用到此時(shí)間點(diǎn);
9 移除change replicat的handlecollisions參數(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ā)extract和replicat組,可根據(jù)活躍程度為不同的表單獨(dú)分配extract,每個(gè)extract單獨(dú)對(duì)應(yīng)一個(gè)data pumps和replicat組;
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—用于teradata,vamtrailsource <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 pump或replicat負(fù)責(zé)讀取,teradata則需要VAM-sort extract;
為trail單獨(dú)分配一個(gè)磁盤(pán);
添加trail
ADD {RMTTRAIL | EXTTRAIL} <pathname>, EXTRACT <group name> [, MEGABYTES <n>] –默認(rèn)n為100
創(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。