GoldenGate最佳實(shí)踐完整_第1頁(yè)
GoldenGate最佳實(shí)踐完整_第2頁(yè)
GoldenGate最佳實(shí)踐完整_第3頁(yè)
GoldenGate最佳實(shí)踐完整_第4頁(yè)
GoldenGate最佳實(shí)踐完整_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ORACLE9申哥文OracleGoIdenGate最佳實(shí)踐鄧章立高級(jí)技術(shù)顧問(wèn)zhangli.deng@Copyright?2012.Oracleand/oriisaffiliates.Allrightsreserved.概要D卜OGG資源及PatCh應(yīng)用|?OGG工作原理深入解析?OGG常用配置參數(shù)解析?OGG日常運(yùn)維問(wèn)題處理?0GG調(diào)整及優(yōu)化方法論OGG技術(shù)資源及PatCh應(yīng)用?軟件下載?應(yīng)用補(bǔ)丁?文檔說(shuō)明ORACL∈GoldenGate軟件下載?正式發(fā)布版本:/technetwork/cn/middleware/gol

dengate/downloads/index.html-確定對(duì)應(yīng)的操作系統(tǒng)平臺(tái)?操作系統(tǒng)類(lèi)型,如AIX、HP-UX、Linux>WindOWS等?芯片類(lèi)型,如x86,X86-64?IA64-確定對(duì)應(yīng)的數(shù)據(jù)庫(kù)版本? Oracle1Og? OracleIlg-確定使用的GOldenGate版本?VII.?V.1-選擇對(duì)應(yīng)程序包?例如LinUXx86(64位)上OraCIeIIg的OraeIe

GokIenGateVlI2IOlORACL∈GoldenGate^blF^載及應(yīng)用?補(bǔ)丁及臨時(shí)版本:- 選擇PatCheS&Updates- 選擇PatChSearch- 選擇ProdUCtorFamily(Advanced)? 選擇產(chǎn)品為OraCIeGoldenGate?

選擇版本,如GGATEI1.2?

選擇平臺(tái),如IBMAIX64-bit? 查看搜索結(jié)果中是否包含OraCIeGoldenGateV11.2.for...?盡量使用較新版本,升級(jí)補(bǔ)丁ORACL∈OGG文檔說(shuō)明?參考手冊(cè)gg_wux_ref_v112.pdf-C)GG命令參考-OGG參數(shù)說(shuō)明?管理手冊(cè)gg_wux_admin_vn2.pdf- OGG的概覽- 各種應(yīng)用場(chǎng)景- 數(shù)據(jù)復(fù)制配置指南- 數(shù)據(jù)轉(zhuǎn)換和初始化- OGG數(shù)據(jù)隊(duì)列格式?安裝手冊(cè)gg_<ora>_inst_vn2.pdf-特定數(shù)據(jù)Ji的安裝需求-具體安裝步驟ORACL∈練習(xí)?為GOIdenGate.0forLinuxOralOg

打補(bǔ)丁PatChI6441081Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.7I概要?OGG資源及PatCh應(yīng)用>∣?OGG工作原理深入解析I?OGG常用配置參數(shù)解析?OGG日常運(yùn)維問(wèn)題處理?OGG調(diào)整及優(yōu)化方法論ORACL∈■OGG工作原理深入解析? 工作原理介紹?

為什么需要附加日志?

檢查點(diǎn)、時(shí)間流及初始化ORACL∈OracleGoldenGate工作原理雙向復(fù)制racleGoldenGate組件CommunicationsandStartupGGSCI

Interactive

InterfaceManagerManagerGGSCl

Interactive

InterfaceDeliveryTargetDatabaseSource ∣Datal猊)∣JrCeoTCP/IPProcessStartSharedMemory(forMonitoring)OracleGoldenGate組件MessagingSubsystemGoIdenGate

EventLog)5MemoryManagerCheckpointManagerFiltering1CaptureVAMAPI/RedoAPI(logreader

interface)MetadataManagerTransactionLogReaderSerializationandRoutingSQLInterfaceTransformationandMappingGoIdenGate

Parameter

FileTransaction

LogsSource

DatabaseFormattingMetadata

ManagerTransformation

EngineGoldenGateCheckpoint

FileGoIdenGateTrailFilesCommand

and

ControlGoldenuate

Command

Iinterpreter靈活的拓?fù)浣Y(jié)構(gòu)單向復(fù)制

備份、查詢(xún)雙向復(fù)制災(zāi)備、雙業(yè)務(wù)中心點(diǎn)對(duì)點(diǎn)多業(yè)務(wù)中心廣播復(fù)制

數(shù)據(jù)分發(fā)集中復(fù)制數(shù)據(jù)倉(cāng)庫(kù)、N+7災(zāi)備多級(jí)復(fù)制層次化企業(yè)數(shù)據(jù)OracleGoldenGateIlg支持平臺(tái)列表OracleGoIdenGateCapture:■ Oracle■ DB2forv9.7■ DB2forv10onz/OS■ MicrosoftSQLServerfor2008R1,R2■ WbaSeASE,15.5■ Teradata■ Enscribe■ SQuMP■ SQUMX■ My9DL■ JMSmessagequeuesOracleGoIdenGateDelivery:■ Alllistedabove,plus:■ Timeslen5IBM^stemI5Netezza&

Greenplum■ EΓLproductLinuxSunSolarisWindows2000,2003,XR

2008HPNonStopHP-UXIBMAIXIBMzSerieszLinux14練習(xí)?闡述OracleGOldenGate工作原理Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.15■OGG工作原理深入解析? 工作原理介紹?

為什么需要附加日志?

檢查點(diǎn)、時(shí)間流及初始化ORACL∈為什么需要附加日志Source

:columnCust_codeNameCityStateRowidRowlaaaaAAAReXAAEAAAAIuAAARow2bbbbAAAReXAAEAAAAIuAABTargetzcolumnCust_codeNameCityStateRowidRoWlaaaaAAAReVAAEAAAAI9AAARoW2bbbbAAAReVAAEAAAAI9AAB?數(shù)據(jù)庫(kù)通過(guò)rowid定位記錄-當(dāng)記錄發(fā)生變化時(shí)在日志中記錄rowid及對(duì)應(yīng)記錄的前后影像

(Before/AfterImage)ORACL∈為什么需要附加日志(續(xù))?物理復(fù)制兩端的rowid保持一致-DataGUard物理模式-底層復(fù)制,如卷復(fù)制或者磁盤(pán)陣列復(fù)制?邏輯復(fù)制目標(biāo)端和源端r。Wid是不一致的-需要對(duì)變化記錄進(jìn)行定位一方案一使用rowidmap(DSGRealSync)?

優(yōu)點(diǎn):不依賴(lài)主鍵和唯一索引,可以準(zhǔn)確定位每一條記錄?

缺點(diǎn):需要在目標(biāo)端維護(hù)源和目標(biāo)每一條記錄的r。Wid對(duì)應(yīng)關(guān)系,需

要占用較多存儲(chǔ);如果出現(xiàn)行遷移操作引起r。Wid變化則復(fù)制無(wú)法繼

續(xù)。-方案二使用主鍵/唯一鍵/所有列(OGG,QuestSharePlex)?

優(yōu)點(diǎn):不需要維護(hù)rowidmap,無(wú)需額外存儲(chǔ);可以正確處理行遷移情況下的數(shù)據(jù)復(fù)制?

缺點(diǎn):需要依賴(lài)主鍵和唯一索引,否則需要記錄所有列附加日志,

對(duì)于無(wú)主鍵表效率較低,容易出現(xiàn)數(shù)據(jù)沖突如何打開(kāi)附加日志?數(shù)據(jù)庫(kù)級(jí)附加日志-視圖v$database? SUPPLEMENTAL_LOG_DATA_MIN:最小附加日志,開(kāi)關(guān)? SUPPLEMENTAL_LOG_DATA_PK:t己錄所有變化t己錄主鍵? SUPPLEMENTALJLOG_DATAJlH:t己錄所有變化t己錄唯一索弓I? SUPPLEMENTAL_LOG_DATA_ALL:t己錄所有變化t己錄全部歹∣J-通常只打開(kāi)最小附加日志,并打開(kāi)所需復(fù)制表的表級(jí)附加日志? ALTERDATABASEaddSUPPLEMENTALLOGDATA;?

目的是產(chǎn)生最小日志增量,避免對(duì)生產(chǎn)主機(jī)產(chǎn)生較大影響?表級(jí)附加日志-通過(guò)OGG命令行中的addtrandataschema.table命令添加-如果有主鍵則只加入主鍵;無(wú)主鍵添加唯一索引;兩者皆無(wú),則添加

所有列-Altertable<table>addsupplementalloggroup<group>(column,..)

always;(KΓSifijdba_log_group_columns)練習(xí)?打開(kāi)數(shù)據(jù)庫(kù)主鍵補(bǔ)全附加日志Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.20OGG復(fù)制深入解析?工作原理介紹?附加日志?檢查點(diǎn)、時(shí)間流及初始化ORACL∈GoldenGate檢查點(diǎn)■-Begin,TX1StartofOldestOpen(UncommitteTransactionInsertTX1Begin,TX2Update9TX1Insert1TXZCommit,TX2Begin9TX3Insert,TX3Begin,TX4Commit,TX3Delete,TX4CurrentRead

PositionDatabaseUaIaDaSeCapture-Capture?Capture,Pumpy

andDelivery

savepositions

toacheckpoint

filesotheycan

recoverincase

offailureORACL∈GoldenGate檢查點(diǎn)…?Pump-----------StartofOldestOpen(Uncommitted)Begin,TX1<TransactionInsert1TX1BeginlTX2UpdatelTX1Insert,TX2Commit,TX2Begin,TX3Insert,TX3Position、?Capture,Pumpy

andDelivery

savepositions

toacheckpoint

filesotheycan

recoverincase

offailureBegin,TX4Commit,TX3Delete,TX4CurrentRead

PositionDatabaseJaiaoaseORACL∈GoldenGate檢查點(diǎn)■…DeliVeryBegin9TX1?StartofOldestOpen(Uncommitted)TransactionInsert1TX1Begin,TX2BeginlTXZPump

CheckpoirtBeginlTX2Deltvery

CheckpointUpdate,TX1Insert,TX2Insert,TX2Insert,TX2Commit,TX2Commit,TX2Capture

CheckpointBegin,TX3K-----=-----4Commit,TX2kCurrent----CurrentV ι? X 1Begin,TX3Insert,TX3Read

PositionWrite,;CurrentInsert1TX3Current

WriteCommitTX3Position?Begln,TX4Commit,TX3Delete.TX4CurrentRead

PositionPosition;Read

Position?Capture,Pump,

andDelivery

savepositions

toacheckpoint

filesotheycanrecoverincaseoffailureCaptureTrail

FilePumpTrail

FileDeliverySourceDatabaseTarget

DatabaseuaτaoaseDatabaseGUIdellGate的檢查點(diǎn)-extract讀日志檢查點(diǎn)?OGG檢查點(diǎn)信息ReadCheckpoint#1

OracleRedoLogStartupCheckpoint(startingpositioninthedatasource):Sequence#:61RBA:27597840?ReCc)Very檢查點(diǎn)Timestamp:2010-03-2313:09:58.000000?CUrrent檢查點(diǎn)RedoFile:C:\APP\LARRY\ORADATA\GGS\REDO01.LOGRecoveryCheckpoint(positionofoldestunprocessedtransaction

inthedatasource):Sequence#:61RBA:27882512Timestamp:2010-03-2313:13:34.000000RedoFile:C:\APP\LARRY\ORADATA\GGS\REDO01.LOGCurrentCheckpoint(positionoflastrecordreadinthedata

source):Sequence#:61RBA:27883520Timestamp:2010-03-2313:13:34.000000RedoFile:C:\APP\LARRY\ORADATA\GGS\REDO01.LOGORACL∈GOldelIGate的檢查點(diǎn)-隊(duì)列檢查點(diǎn)?OGG檢查點(diǎn)信息-寫(xiě)隊(duì)列檢查點(diǎn)?CUrrent檢查點(diǎn)-讀隊(duì)列檢查點(diǎn)?Current?查點(diǎn)WriteCheckpoint#1GGSLogTrailCurrentCheckpoint(currentwriteposition):Sequence#:2RBA:991Timestamp:2010-03-2313:13:37.531000ExtractTrail:D:\ggs\gg^dirdat?s1TranA開(kāi)始檢查點(diǎn)與數(shù)據(jù)捕捉ggsci>addextractextga9tranlog^beginnowTranBTranCTranD以從特定時(shí)間開(kāi)始抽取,如果交易在此之前已經(jīng)開(kāi)始,則其該時(shí)間

點(diǎn)之前的數(shù)據(jù)無(wú)法被抽取,OGG只保留該時(shí)間點(diǎn)以后的交易數(shù)據(jù)。ORACL∈■檢查點(diǎn)與停止進(jìn)程ggsci>addextractextga9tranlog9beginnowggsci>stopextga14:0013:0015:009:0010:0011:0012:0016:00TranATranBTranCTranDTranE?StartupcheckpointRecoverycheckpointCurrentcheckpoint場(chǎng)景應(yīng)用:重啟extract后報(bào)告無(wú)法找到日志文件ggsci>addextractextga,tranlog9beginnowggsci>stopextgaggsci>startextga9:0010:0011:0012:00TranATranBTranCTranDTranE13:00 14:00 15:00 16:00Recoverycheckpoint需要根據(jù)檢查點(diǎn)恢復(fù)所需歸檔日志。建議:I停止ex力〃以前先檢查其,ecoue?checkpoint↑2實(shí)際生產(chǎn)系統(tǒng)建議保留一定時(shí)間歸檔日志。3升級(jí)Go/e〃G〃"到使用BR參數(shù)應(yīng)用場(chǎng)景:目標(biāo)初始化的時(shí)間點(diǎn)Takesnapshotafterhereggsci>addextractextgaytranlog9beginnow9:00 10:00 11:00 12:00I

13:00 14:00 15:00 16:00TranATranBTranCTranD執(zhí)行目標(biāo)初始化過(guò)程中,必須保證做源端鏡像時(shí),當(dāng)時(shí)所有數(shù)據(jù)庫(kù)中交易是在亞伍ZCf啟動(dòng)檢查點(diǎn)后才開(kāi)始,否則這些交易在"伍ICf啟動(dòng)檢查點(diǎn)前的部分?jǐn)?shù)據(jù)將會(huì)丟失!可以通過(guò)查看淵Tansaction的相加(STARTJTIME)應(yīng)當(dāng)大于ex//a。開(kāi)始時(shí)間來(lái)驗(yàn)證目標(biāo)初始化方案?初始化的關(guān)鍵-如何避免數(shù)據(jù)丟失,即上頁(yè)所講-如果處理沖突數(shù)據(jù)?使用HANDLECOLLlSlONS處理沖突數(shù)據(jù)-條件:表均有主鍵或唯一索引一方法:在啟動(dòng)replicat前加入HANDLECoLLlSIoNS參數(shù),依賴(lài)表主鍵處理掉重復(fù)數(shù)據(jù)-問(wèn)題:如果表沒(méi)有主鍵則可能產(chǎn)生重復(fù)記錄?使用SCN-啟動(dòng)extract后按照前面說(shuō)述選擇合適時(shí)間點(diǎn)獲取其SCN;-使用exp或rman等獲取對(duì)應(yīng)于該SCN的影像并裝載到目標(biāo)端;-啟動(dòng)replicat時(shí)使用Startreplicat<name>,aftercsnVnUmber〉或

者在replicat的map參數(shù)力口入filter(@getenv("TRANSACTION”,

“CSN")><number>)J^replicat從該SCn后的記錄開(kāi)始?!鼍毩?xí)?為GOldenGate復(fù)制初始化數(shù)據(jù)庫(kù)ORACL∈Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.32I概要?OGG資源及PatCh應(yīng)用?OGG工作原理深入解析LK)GG常用配置參數(shù)解析I?OGG日常運(yùn)維問(wèn)題處理?OGG調(diào)整及優(yōu)化方法論ORACL∈I概述?GOldenGate進(jìn)程均有參數(shù)文件-Manager一Extract-Replicat_Utilities?所有參數(shù)文件均放在√dirprm目錄下-缺省通過(guò)進(jìn)程名進(jìn)行查找.ORACL∈OGG常用配置參數(shù)解析? Manager進(jìn)程參數(shù)解析? EXtraCt進(jìn)程參數(shù)解析? RePliCate進(jìn)程參數(shù)解析MANAGER參數(shù)舉例PORT7809DYNAMICPORTLIST7840-7850Purgeoldextracts√dirdat∕rt*,usecheckpointsAUTOSTARTER*AUTORESTARTEXTRACT*,WAITMINUTES2,RETRIES5LAGREPORTHOURS1LAGINFOMINUTES3Lagcriticalminutes5ORACL∈MANAGERParameters-PortManagementAUTOSTART指定在mgr啟動(dòng)時(shí)自動(dòng)啟動(dòng)那些進(jìn)程.AUTOSTARTER*AUTOSTARTextractextszAUloRESTAKl指定在mgr可以定時(shí)重啟那些進(jìn)程??梢栽诰W(wǎng)絡(luò)中

斷等故障恢復(fù)后自動(dòng)重起,避免人工干預(yù).AUTORESTARTER*,WAITMINUTES5,RETRIES3UYNAMlCPOKiLlSi指定GOkIenGate可以使用那些端口接受extract發(fā)送

過(guò)來(lái)的數(shù)據(jù).DYNAMICPORTLIST7840-7850POKl制定GOIdelIGate的mgr進(jìn)程使用哪個(gè)TCP/IP端口偵

聽(tīng)請(qǐng)求.PORT7809ORACL∈MANAGERParameters-EventManagementLAGCKinCAL指定認(rèn)為超過(guò)此時(shí)間即為嚴(yán)重錯(cuò)誤的延遲最大值,如果延遲達(dá)到

此時(shí)間值則會(huì)在ggserr.logM面寫(xiě)入一條eιτor信息LagcriticalminutesioLAG1NBO指定一個(gè)延遲時(shí)限,如果延遲達(dá)到此時(shí)間值則會(huì)在ggseιτ?log里面

寫(xiě)入一條info信息laginfominutes3LAGKEPORr指λ∈在ggserr.log中報(bào)告延遲的時(shí)間間隔.LAGREPORTHOURS1l,uKgeoldextkac

γs定義自動(dòng)刪除過(guò)時(shí)的隊(duì)列以節(jié)省硬盤(pán)空間。一般按照兩個(gè)規(guī)則來(lái)刪除:首先,要滿(mǎn)足檢查點(diǎn)要求,沒(méi)有使用過(guò)的隊(duì)列不能刪除,保證無(wú)數(shù)據(jù)丟失;其次,可以保留一定的天數(shù)。只有當(dāng)已經(jīng)使用

過(guò)且超過(guò)設(shè)定的天數(shù)后的隊(duì)列會(huì)被自動(dòng)刪除。purgeoidextracts∕backup∕goldengate∕dirdat∕^,usecheckpoints,minkeepdays7ORACL∈OGG常用配置參數(shù)解析? Manager進(jìn)程參數(shù)解析? EXtraCt進(jìn)程參數(shù)解析? RePliCate進(jìn)程參數(shù)解析IExtract參數(shù)概覽抽取進(jìn)程有以下方面參數(shù):?Checkpoint?復(fù)缶IJ目標(biāo)- LocalSystem- MultipleRemoteSystems- OnetomanyGoldenGateTrails?數(shù)據(jù)源- WhichTables- WhichRowsandColumns- WhichOperations?數(shù)據(jù)影射和變換EXtraCt參數(shù)文件舉例-日志抽取進(jìn)程extractextlissetenv(NLS_LANG=HAMERICAN_AMERICA.UTF8n)SETENV(ORACLE_HOME=''E:\oracle\product\1020\db_l”)setenv(ORACLE.SID=??eccdbπ)useridgoldengate,passwordXXXXXXXXXXXXXXXGettruncatesREPORTCOUNTEVERY1MINUTES,RATEDISCARDFILE./dirrpt/exterp.dsc,APPEND,MEGABYTES1000THREADOPTIONSMAXCOMMITPROPAGATIONDELAY60000Iolatens60000Warnlongtrans2h,checkinterval3mEXTTRAIL./dirdat/etTranlogoptionsconvertucs2ClobsDYNAMICRESOLUTIONtableexcludeCtaiS2.KJ_*;tableSAP*R3*:XtraCt參數(shù)文件舉例-傳輸進(jìn)程extractdpeszsetenv(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

passthruREPORTAΓ01:59reportro∏overat02:00rmthost2,mgrport7809,compressRMTTRAIL√dirdat∕rtdynamicresolutiontableSAPSR3.*;tableops$zdpadm.*;EXtraCt參數(shù)(一)CHECKPARAMS如果加入該參數(shù),表示下次運(yùn)行只是檢查一下語(yǔ)法,并不實(shí)際

運(yùn)行進(jìn)程。注意:該命令只能檢查一些簡(jiǎn)單語(yǔ)法,并不能保證參數(shù)文件是

完全正確的。COMMENT注釋行,也可以修兩個(gè)中劃線一代替.

YheCkParamS表示本行已經(jīng)被注釋掉EXTRACT定義抽取進(jìn)程的名字OBEY可以將外部文件的內(nèi)容包含到本參數(shù)文件中來(lái)。用于將些可一

以重復(fù)利用的參數(shù)文件部分內(nèi)容隔離出來(lái),便于統(tǒng)一修改。Obeytables.txtIableexchjde定義所需要排除的表。如果在table里面定義了使用通配符,那

么可以使用該參數(shù)定義排除掉其中的部分表。如1:tableexcludectais2.TMP*;tableexcludectais2.TEMPTAB;EXtraCt參數(shù)(JEiUPDAiEAFTEKSI

[GnoreupdateaftersGetupdatebeboresi

[GnoreupdateaftersJetupdatesiGnoreupdatesGetdeletesi

ignoredeletesGEilNSEKiSI[GnoreinsertsGEIKUNCAlESlIgnoretruncates:)是含在隊(duì)列中寫(xiě)入后影像,缺省U制是否在隊(duì)列中與入前影像,缺省不復(fù)制是否復(fù)制UPdate操作,缺省復(fù)制是否復(fù)制delete操作,缺省復(fù)制是否復(fù)制insert操作,缺省復(fù)制是否復(fù)制truncate操作,缺省不復(fù)制.J1?/AQEXtraCt參數(shù)(三)KMTHOST指定目標(biāo)系統(tǒng)及其GOkienGateMaIlager進(jìn)程的端口號(hào),也用于

定義是否使用壓縮進(jìn)行傳輸。rmthost2,mgrport7809,compressRMTTRAlL指定寫(xiě)入到目標(biāo)端的哪個(gè)隊(duì)列。EXΓ1KA1L指定與人到本地的哪個(gè)隊(duì)列。SQLEXEC在extract運(yùn)行時(shí)首先運(yùn)行一個(gè)Sql語(yǔ)句。sqlexec"Altersessionsetconstraints=deferredπPassthku禁止extract與數(shù)據(jù)庫(kù)交互,適用于DataPlImP傳輸進(jìn)程

(dpeXX)oGElENVISETEJNV針對(duì)extract進(jìn)程設(shè)定系統(tǒng)環(huán)境變量。sete∩v(NLS_LANG=AMERICAN_AMERICA.ZHSI6GBK)ORACL∈EXtTaCt參數(shù)(四)REPORT定義自動(dòng)定時(shí)報(bào)告。REPORTAT01:59Siatoptions定義每次使用Stat時(shí)統(tǒng)計(jì)數(shù)字是否需要重置。Repurtcuunt報(bào)告已經(jīng)處理的紀(jì)錄條數(shù)統(tǒng)計(jì)數(shù)字。ΓLTRACE打開(kāi)對(duì)于數(shù)據(jù)庫(kù)I」志的跟蹤Ll志ΓRACE∕TRACE2DISCARDFILE打開(kāi)對(duì)GoIdelIGate進(jìn)程的跟蹤日志,一般用于調(diào)試。定義discard文件位置,如果處理中有紀(jì)錄出錯(cuò)會(huì)寫(xiě)入到此文件

中。discardfile∕oradata∕golde∩gate∕repkj.dsc,append,megabytes10OmEXtraC參數(shù)(五)NUMFILES定義本extract為最大多少?gòu)埍眍A(yù)留空間,缺省為500,超過(guò)

500張表需要設(shè)定一個(gè)比實(shí)際表數(shù)略大的值。numfiles3000KURGEOLDEXIRACIs同mgr進(jìn)程,可以設(shè)置自動(dòng)刪除隊(duì)列,建議在mgr設(shè)置。KEPORlROLLoVER設(shè)定切換一個(gè)日志的時(shí)間和間隔。

reportrolloverat02:00Ikainsmemoky設(shè)定GokknGate的抽取進(jìn)程能夠使用的內(nèi)存大小。如下參數(shù)

指定本進(jìn)程最大只能占用2G內(nèi)存,其中每個(gè)事務(wù)最大占用內(nèi)

存不能超過(guò)500M,如果超過(guò)則使用指定目錄作為虛擬內(nèi)存,

該i錄下的單個(gè)文件大小為4G,最多只能在該≡錄下占用8G

空間作為緩存:transmemorydirectory(∕backup∕golde∩gate∕dirtmp,8G,4G),ram

2G,transram500MORACL∈EXtraC參數(shù)(六)Dbuptiuns指定對(duì)于某種特定數(shù)據(jù)庫(kù)所需要的特殊參數(shù)。SuukcedbjUSERID,PASSWORDIRANLoGoPTIoNb指定所要登陸的數(shù)據(jù)庫(kù)名稱(chēng),用戶(hù)名和密碼。對(duì)于Orade無(wú)需指

定SoIIrCedb,直接指定用戶(hù)名和密碼即可。Useridgoldengate,passwordgoldengate指定在解析數(shù)據(jù)庫(kù)H志時(shí)所需要的特殊參數(shù)。例如,對(duì)于裸設(shè)備,可能需要加入下列參數(shù):Iranlogoptionsrawdeviceoffset0VVAKNLoNGlRAN5指定對(duì)于超過(guò)一定時(shí)間的長(zhǎng)交易可以在ggserr.log里面寫(xiě)入警告信息。例如,每隔30分鐘檢查一次長(zhǎng)交易,對(duì)于超過(guò)12個(gè)小時(shí)的進(jìn)行告警:-WarnIongtrans12h3checkintervals30mOGG常用配置參數(shù)解析? Manager進(jìn)程參數(shù)解析? EXtraCt進(jìn)程參數(shù)解析? RePliCate進(jìn)程參數(shù)解析IReplicat參數(shù)概覽提供如下方面參數(shù):?Checkpoint?數(shù)據(jù)影射關(guān)系- Optionalrow-levelselectioncriteria- Optionalcolumnmappingfacilities- Optionaltransformationservices- OptionalStoredProcedureorSQLqueryexecution?錯(cuò)誤處理機(jī)制?其它可選參數(shù)ORACL∈IReplicat參數(shù)舉例replicatrepszsetenv(NLS.LANG=AMERICAN_AMERICA.ZHS16GBK)useridgoldengate,password*****sqlexecnAltersessionsetconstraints=deferredπREPORTATOl:59reportrolloverat02:00—handlecollisionsreperrordefault,discarddiscardfile./dirrpt/repsz.dsc,append,megabytes10-grouptransops100-batchsqlassumetargetdefsallownoopupdatesdynamicresolutionnumfiles3000mapexcludeCTAIS2.JC_GY_SWWSWHMAPctais2.*,TARGETCtaiS2.*;ORACL∈RePliCat命令(一)Checkpakams檢查參數(shù)語(yǔ)法然后停止。UOMMEM注釋仃。Keplicat定義進(jìn)程名稱(chēng)。replicatrepszUSERlD指定登陸目標(biāo)數(shù)據(jù)庫(kù)的用尸名和密碼。Useridgoldengate,password123456UBEY將外部文件包含到參數(shù)文件中。ORACL∈RePIiCat命令(二)Assumetargetdefs假定兩端數(shù)據(jù)結(jié)構(gòu)一致使用此參數(shù)。Suurcedefs假定兩端數(shù)據(jù)結(jié)構(gòu)不?致,使用此參數(shù)指定源端的數(shù)據(jù)

結(jié)構(gòu)定義文件。該文件需要由GoIdeiIGate工具產(chǎn)生。用于使用在map中使用*匹配時(shí)排除掉指定的表T域似于于源端的tablexclude。mapexcludeCTAIS2.JC_GY_SA/WSA/HMAPctais2.*,TARGETctais2.*;GetdeletesiIgnoredeletes是否復(fù)制delete操作,缺省為復(fù)制。GetupuatestIgnoreupdates是否復(fù)制IIPdate操作,缺省為復(fù)制。RePliCat命令(三)GetinsektsI

[Gnoreinserts是否復(fù)制insert操作復(fù)制。GEluPDAlEAlIERbIIgnoreupdateafters是否讀取后影像,缺省為讀取。JetupdstebeforesiGnoreupdatebefores是否讀取前影像,缺省為不讀取。;ETTRUNCATESIGnoretruncates^WWrUlICatewra∏δwnδδpupαates允許執(zhí)行無(wú)實(shí)際變化的IlPdate。例如,IIPdatea=a會(huì)紀(jì)錄一條

UPdate,但是沒(méi)有后影像,無(wú)法正確構(gòu)筑Where語(yǔ)句。ORACL∈RePliCat命令(四)REPERROR定

XHWBreplicatAbend,即一旦出現(xiàn)錯(cuò)誤即停止復(fù)制,此為缺省配置;Discard,出現(xiàn)錯(cuò)誤后繼續(xù)復(fù)制,只把錯(cuò)誤的數(shù)據(jù)放到discard文件中。FeperrordefaultdiscardDISCARDFILE定義出錯(cuò)數(shù)據(jù)的輸出文件。當(dāng)數(shù)據(jù)出現(xiàn)錯(cuò)誤后,可以用于查找錯(cuò)誤原因。discardfile/oradata/golde∩gate/dirrpt∕repsz.dsc,append,

megabytes10HANDLECOLLISIONS自動(dòng)過(guò)濾3(復(fù)時(shí)段的數(shù)據(jù)沖突,用于不能停機(jī)執(zhí)彳了初始化

打開(kāi)該參數(shù)后不會(huì)將數(shù)據(jù)錯(cuò)誤報(bào)到discard文件中。IJYNAMlCRESUEUnoN次啟動(dòng)解析所有要復(fù)制表的結(jié)構(gòu)。9QLEXEC調(diào)用存儲(chǔ)過(guò)程或者執(zhí)行Sq卜語(yǔ)句。可以將返回值作為依據(jù)

進(jìn)行過(guò)濾條件,或者用戶(hù)改變SeSSiorI變量。RePIiCat命令(五)Gkouptkansops將小的交易合并成為一個(gè)大的交易進(jìn)行提交,減少提交次

數(shù),降低系統(tǒng)IO消耗。grouptransops100MAXiKANSOPS將大父易拆分,每若十條紀(jì)錄提父一次。

maxtransops1000BATCHSQL 針對(duì)批處理中針對(duì)某個(gè)表的大批量重復(fù)操作進(jìn)行優(yōu)化,提高批處理的處理速度。NUMFILES定義進(jìn)程中表的最大數(shù)據(jù)量,缺省為500.PUKGEOLDEXTKACrS定義自動(dòng)刪除隊(duì)列,一般建議在mgr進(jìn)程配置。練習(xí)?修改相應(yīng)參數(shù),使GOIdenGate自動(dòng)清理Trail文件以釋

放磁盤(pán)空間。ORACL∈Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.57概要?OGG資源及PatCh應(yīng)用?OGG工作原理深入解析?OGG常用配置參數(shù)解析

卜OGG日常運(yùn)維問(wèn)題處理I?OGG調(diào)整及優(yōu)化方法論ORACL∈GGSCI常用命令TheGGSCIcommandsdisplaybasicprocessingstatus,<InsertPictureHere>γjGSCI>

Send<group>,StatusγjGSCI>

Send<group>jShowTransjGSCI>

Stats<group>3GSCI>InfoAllγjGSCI>

Info<group>jDetail/ShowchCopyright?2012.Oracleand/oritsaffiliates.Allrightsreserved.ViewingCheckpointDetailsExampleofShowChforExtract:GGSCI>InfoExtractEXTRACTEXT_1ACheckpointLagLogReadCheckpointext_la9ShowChLastStarted201h03^1111:11StatusRUNNING

00:00:14(updated00:00:00ago)OracleRedoLogs2011?03?ll11:29:28Seqno46,RBA3757568CurrentCheckpointDetail:∕?g∣?rfiCheckpoint#1OracleRedoLogStartupCheckpoint(startingpositioninthedatasource):Sequence#:46RBA:2858000Timestamp:2011-03-1111:11:29.000000RedoFile:∕u01∕app∕oracle∕oradata∕orcl∕REDO02.LOGRecoveryCheckpoint(positionofoldestunprocessedtransactioninthedata

source):Sequence#:46RBA:3756952Timestamp:2011-03-1111:29:21.000000RedoFile:∕u01∕app∕oracle∕oradata∕orcl∕REDO02.LOGCurrentCheckpoint(positionoflastrecordreadinthedatasource):Sequence#:46RBA:3757568Timestamp:2011-03-1111:29:28.000000Convrivht 2012.Oracleand/oritsaffiliates.Allrightsreserved.OGG長(zhǎng)交易監(jiān)控? 查看長(zhǎng)交易Ggsci>sendextract<進(jìn)程名>,showtrans[threadn]

[countn]?

在extract進(jìn)程中配置長(zhǎng)交易告警,參數(shù)如下所示:Warnlongtrans12h,checkintervalsIOm?

在OGGng中,extract提供了BR參數(shù)可以設(shè)置每隔一段時(shí)間(默認(rèn)4小時(shí))將長(zhǎng)交易緩存到本地硬盤(pán)(默認(rèn)dirtmp目錄下) 但extract停掉后,便無(wú)法再自動(dòng)緩存長(zhǎng)交易ORACL∈Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.61表的重新再同步?

1停止目標(biāo)端的rep進(jìn)程;?

2在源端獲得當(dāng)前的SCn號(hào)? 3在源端使用exp導(dǎo)出所需重新初始化的表,并且指定到

剛才記下的SCn號(hào)。例如:exp...FLASHBACK_SCN=XXX? 4在目標(biāo)端,使用imp導(dǎo)入數(shù)據(jù);nohupimp...ignore=y&?

5編輯rep參數(shù)文件,在其map里面加入一個(gè)過(guò)濾條件,

對(duì)這些重新初始化的表應(yīng)用指定SCn號(hào)之后的記錄

mapsource.mytab,targettarget.mytab,filter(@GETENV("TRANSACTION”,“CSN”)>XXX);? 6啟動(dòng)目標(biāo)端的rep進(jìn)程;Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.62增加復(fù)制表?只是打開(kāi)最小附加日志和表級(jí)日志的情形下,如果通

過(guò)*來(lái)匹配所有表,因此只要符合*所匹配的條件,那么

只要在源端建立了表之后GoIdenGate就能自動(dòng)復(fù)制,

無(wú)需修改配置文件。但需要為新增的表添加附加日志

GGSCI>dbloginuseridgoldengate,passwordXXXXXXXGGSCI>infotrandata<schema>.<tablename>GGSCI>addtrandata<schema>,<tablename>?如果打開(kāi)了最小附加日志+PK+UI附加日志,且新增表符

合*通配符,且新增表符合OGG要求(規(guī)范開(kāi)發(fā)商),

不需要修改配置文件。Copyright?2008,Oracleand/oritsaffiliates.Allrightsreserved.63數(shù)據(jù)復(fù)制典型錯(cuò)誤-SQLerror1403mapping錯(cuò)誤描述:20/0-02-2513:20:08GGSWARNING218OracleGoldenGateDelivery^forOracle,rep_stnd.prm:SQLerror1403mappingHR.MY_EMPLOYEEtoHR.MY_EMPLOYEE.錯(cuò)誤分析:-可能原因包括:? 兩端結(jié)構(gòu)不一致(異構(gòu)環(huán)境,列和主鍵不同)? 兩端有不一致記錄? 附加日志不全-可以至IJdiSCard文件中查看具體錯(cuò)誤信息,如果為UPdate或者delete找不到

對(duì)應(yīng)記錄,并且某幾個(gè)字段為空,則可認(rèn)定為缺步了附加日志ProblemreplicatingGGSLHISCUSTMERtoGGS2.HISCUSTMERErroroccurredwithdeleterecord(targetformat)...*CUST_CODE=注意;添加表的附加日志是即時(shí)生效,如"松力已經(jīng)將數(shù)據(jù)抽入隊(duì)列,

則重新添加附加日志后進(jìn)行重新初始化,舊的隊(duì)列數(shù)據(jù)不能被繼續(xù)

使用ORACL∈數(shù)據(jù)復(fù)制典型錯(cuò)誤-filter無(wú)法正常工作錯(cuò)誤描述:TABLEdemo_src.people,FILTER(age>50);添加后無(wú)法正常工祚,“pdq招時(shí)力不也作用錯(cuò)誤分析:-該配置從語(yǔ)法看沒(méi)有錯(cuò)誤,但是對(duì)比的列age如果不是主鍵,則

UPdate在日志中不存在該列值,也就沒(méi)有辦法通過(guò)該列進(jìn)行比較一解決方法為Addtrandatademo_src.people,cols(id,age),nokey強(qiáng)

制為該列加入附加日志-注:也可通過(guò)fetch從數(shù)據(jù)庫(kù)中讀取該記錄進(jìn)行比較(只能在源端抽

取進(jìn)程),如下所示(此方法每條記錄均需要訪問(wèn)數(shù)據(jù)庫(kù),導(dǎo)致復(fù)

制效率降低):TABLEdemo_srcpeople,FETeHBEFoREFILTER,FETCHCOLS

(age),FILTER(age>50);ORACL∈概要?OGG資源及PatCh應(yīng)用?OGG工作原理深入解析?OGG常用配置參數(shù)解析?OGG日常運(yùn)維問(wèn)題處理

川?OGG調(diào)整及優(yōu)化方法論IORACL∈Monitoring:WhatIsLag?Sy靛而*ailExtractlagCtitnΛlaπιp.λ

Sourcecommit?PumplagEtimestam

TargetcomnReplicatlag

uend-to-end^latencyCopyright?2012,Oracleand/oritsaffiliates.Allrightsreserved.Bottlenecks:IdentifyingBottlenecksTALAN/WANInternetExtractSourceSource TmilDatabase K----_QManager?Pump“ACollectorTarget

TrailReplicatTarget

Database≡Firstjdetermineifthereisabottleneck.Monitorlag,workingfromthetargetbacktothesourceORA?LeBottlenecks:IdentifyingBottlenecksSource

Database口ExtractSourcePump

TrailLAN/WAN

InternetCollectorReplicatTarget

TrailTarget

DatabaseFirstsdetermineifthereisabottleneck.Monitorlag,workingfromthetargetbacktothesource一Ifthelag(latency)inReplicatisacceptableythenalliswell.Copyright?2012,Oracleand/oritsaffiliatesΛllrightsreserved.Bottlenecks:IdentifyingBottlenecks[I:ExtractLAN/WANInternetCollectorSource

DatabaseSource

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論