GoldenGate最佳实践完整_第1页
GoldenGate最佳实践完整_第2页
GoldenGate最佳实践完整_第3页
GoldenGate最佳实践完整_第4页
GoldenGate最佳实践完整_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ORACLE9申哥文OracleGoIdenGate最佳实践邓章立高级技术顾问zhangli.deng@Copyright©2012.Oracleand/oriisaffiliates.Allrightsreserved.概要D卜OGG资源及PatCh应用|•OGG工作原理深入解析•OGG常用配置参数解析•OGG日常运维问题处理•0GG调整及优化方法论OGG技术资源及PatCh应用∙软件下载・应用补丁•文档说明ORACL∈GoldenGate软件下载•正式发布版本:/technetwork/cn/middleware/gol

dengate/downloads/index.html-确定对应的操作系统平台•操作系统类型,如AIX、HP-UX、Linux>WindOWS等•芯片类型,如x86,X86-64∖IA64-确定对应的数据库版本• Oracle1Og• OracleIlg-确定使用的GOldenGate版本•VII.•V.1-选择对应程序包•例如LinUXx86(64位)上OraCIeIIg的OraeIe

GokIenGateVlI2IOlORACL∈GoldenGate^blF^载及应用•补丁及临时版本:- 选择PatCheS&Updates- 选择PatChSearch- 选择ProdUCtorFamily(Advanced)• 选择产品为OraCIeGoldenGate•

选择版本,如GGATEI1.2•

选择平台,如IBMAIX64-bit• 查看搜索结果中是否包含OraCIeGoldenGateV11.2.for...•尽量使用较新版本,升级补丁ORACL∈OGG文档说明•参考手册gg_wux_ref_v112.pdf-C)GG命令参考-OGG参数说明•管理手册gg_wux_admin_vn2.pdf- OGG的概览- 各种应用场景- 数据复制配置指南- 数据转换和初始化- OGG数据队列格式•安装手册gg_<ora>_inst_vn2.pdf-特定数据Ji的安装需求-具体安装步骤ORACL∈练习•为GOIdenGate.0forLinuxOralOg

打补丁PatChI6441081Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.7I概要・OGG资源及PatCh应用>∣∙OGG工作原理深入解析I・OGG常用配置参数解析•OGG日常运维问题处理•OGG调整及优化方法论ORACL∈■OGG工作原理深入解析• 工作原理介绍•

为什么需要附加日志•

检查点、时间流及初始化ORACL∈OracleGoldenGate工作原理双向复制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灵活的拓扑结构单向复制

备份、查询双向复制灾备、双业务中心点对点多业务中心广播复制

数据分发集中复制数据仓库、N+7灾备多级复制层次化企业数据OracleGoldenGateIlg支持平台列表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练习•阐述OracleGOldenGate工作原理Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.15■OGG工作原理深入解析• 工作原理介绍•

为什么需要附加日志•

检查点、时间流及初始化ORACL∈为什么需要附加日志Source

:columnCust_codeNameCityStateRowidRowlaaaaAAAReXAAEAAAAIuAAARow2bbbbAAAReXAAEAAAAIuAABTargetzcolumnCust_codeNameCityStateRowidRoWlaaaaAAAReVAAEAAAAI9AAARoW2bbbbAAAReVAAEAAAAI9AAB•数据库通过rowid定位记录-当记录发生变化时在日志中记录rowid及对应记录的前后影像

(Before/AfterImage)ORACL∈为什么需要附加日志(续)•物理复制两端的rowid保持一致-DataGUard物理模式-底层复制,如卷复制或者磁盘阵列复制•逻辑复制目标端和源端r。Wid是不一致的-需要对变化记录进行定位一方案一使用rowidmap(DSGRealSync)•

优点:不依赖主键和唯一索引,可以准确定位每一条记录•

缺点:需要在目标端维护源和目标每一条记录的r。Wid对应关系,需

要占用较多存储;如果出现行迁移操作引起r。Wid变化则复制无法继

续。-方案二使用主键/唯一键/所有列(OGG,QuestSharePlex)・

优点:不需要维护rowidmap,无需额外存储;可以正确处理行迁移情况下的数据复制•

缺点:需要依赖主键和唯一索引,否则需要记录所有列附加日志,

对于无主键表效率较低,容易出现数据冲突如何打开附加日志•数据库级附加日志-视图v$database• SUPPLEMENTAL_LOG_DATA_MIN:最小附加日志,开关• SUPPLEMENTAL_LOG_DATA_PK:t己录所有变化t己录主键• SUPPLEMENTALJLOG_DATAJlH:t己录所有变化t己录唯一索弓I• SUPPLEMENTAL_LOG_DATA_ALL:t己录所有变化t己录全部歹∣J-通常只打开最小附加日志,并打开所需复制表的表级附加日志• ALTERDATABASEaddSUPPLEMENTALLOGDATA;•

目的是产生最小日志增量,避免对生产主机产生较大影响•表级附加日志-通过OGG命令行中的addtrandataschema.table命令添加-如果有主键则只加入主键;无主键添加唯一索引;两者皆无,则添加

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

always;(KΓSifijdba_log_group_columns)练习•打开数据库主键补全附加日志Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.20OGG复制深入解析•工作原理介绍•附加日志•检查点、时间流及初始化ORACL∈GoldenGate检查点■-Begin,TX1StartofOldestOpen(UncommitteTransactionInsertTX1Begin,TX2Update9TX1Insert1TXZCommit,TX2Begin9TX3Insert,TX3Begin,TX4Commit,TX3Delete,TX4CurrentRead

PositionDatabaseUaIaDaSeCapture-Capture•Capture,Pumpy

andDelivery

savepositions

toacheckpoint

filesotheycan

recoverincase

offailureORACL∈GoldenGate检查点…∙Pump-----------StartofOldestOpen(Uncommitted)Begin,TX1<TransactionInsert1TX1BeginlTX2UpdatelTX1Insert,TX2Commit,TX2Begin,TX3Insert,TX3Position、•Capture,Pumpy

andDelivery

savepositions

toacheckpoint

filesotheycan

recoverincase

offailureBegin,TX4Commit,TX3Delete,TX4CurrentRead

PositionDatabaseJaiaoaseORACL∈GoldenGate检查点■…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的检查点-extract读日志检查点•OGG检查点信息ReadCheckpoint#1

OracleRedoLogStartupCheckpoint(startingpositioninthedatasource):Sequence#:61RBA:27597840•ReCc)Very检查点Timestamp:2010-03-2313:09:58.000000•CUrrent检查点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的检查点-队列检查点•OGG检查点信息-写队列检查点•CUrrent检查点-读队列检查点•Current⅛查点WriteCheckpoint#1GGSLogTrailCurrentCheckpoint(currentwriteposition):Sequence#:2RBA:991Timestamp:2010-03-2313:13:37.531000ExtractTrail:D:\ggs\gg^dirdat∖s1TranA开始检查点与数据捕捉ggsci>addextractextga9tranlog^beginnowTranBTranCTranD以从特定时间开始抽取,如果交易在此之前已经开始,则其该时间

点之前的数据无法被抽取,OGG只保留该时间点以后的交易数据。ORACL∈■检查点与停止进程ggsci>addextractextga9tranlog9beginnowggsci>stopextga14:0013:0015:009:0010:0011:0012:0016:00TranATranBTranCTranDTranE►StartupcheckpointRecoverycheckpointCurrentcheckpoint场景应用:重启extract后报告无法找到日志文件ggsci>addextractextga,tranlog9beginnowggsci>stopextgaggsci>startextga9:0010:0011:0012:00TranATranBTranCTranDTranE13:00 14:00 15:00 16:00Recoverycheckpoint需要根据检查点恢复所需归档日志。建议:I停止ex力〃以前先检查其,ecoue?checkpoint↑2实际生产系统建议保留一定时间归档日志。3升级Go/e〃G〃"到使用BR参数应用场景:目标初始化的时间点Takesnapshotafterhereggsci>addextractextgaytranlog9beginnow9:00 10:00 11:00 12:00I

13:00 14:00 15:00 16:00TranATranBTranCTranD执行目标初始化过程中,必须保证做源端镜像时,当时所有数据库中交易是在亚伍ZCf启动检查点后才开始,否则这些交易在"伍ICf启动检查点前的部分数据将会丢失!可以通过查看渊Tansaction的相加(STARTJTIME)应当大于ex//a。开始时间来验证目标初始化方案•初始化的关键-如何避免数据丢失,即上页所讲-如果处理冲突数据•使用HANDLECOLLlSlONS处理冲突数据-条件:表均有主键或唯一索引一方法:在启动replicat前加入HANDLECoLLlSIoNS参数,依赖表主键处理掉重复数据-问题:如果表没有主键则可能产生重复记录•使用SCN-启动extract后按照前面说述选择合适时间点获取其SCN;-使用exp或rman等获取对应于该SCN的影像并装载到目标端;-启动replicat时使用Startreplicat<name>,aftercsnVnUmber〉或

者在replicat的map参数力口入filter(@getenv("TRANSACTION”,

“CSN")><number>)J^replicat从该SCn后的记录开始。■练习•为GOldenGate复制初始化数据库ORACL∈Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.32I概要・OGG资源及PatCh应用•OGG工作原理深入解析LK)GG常用配置参数解析I•OGG日常运维问题处理•OGG调整及优化方法论ORACL∈I概述•GOldenGate进程均有参数文件-Manager一Extract-Replicat_Utilities•所有参数文件均放在√dirprm目录下-缺省通过进程名进行查找.ORACL∈OGG常用配置参数解析• Manager进程参数解析• EXtraCt进程参数解析• RePliCate进程参数解析MANAGER参数举例PORT7809DYNAMICPORTLIST7840-7850Purgeoldextracts√dirdat∕rt*,usecheckpointsAUTOSTARTER*AUTORESTARTEXTRACT*,WAITMINUTES2,RETRIES5LAGREPORTHOURS1LAGINFOMINUTES3Lagcriticalminutes5ORACL∈MANAGERParameters-PortManagementAUTOSTART指定在mgr启动时自动启动那些进程.AUTOSTARTER*AUTOSTARTextractextszAUloRESTAKl指定在mgr可以定时重启那些进程。可以在网络中

断等故障恢复后自动重起,避免人工干预.AUTORESTARTER*,WAITMINUTES5,RETRIES3UYNAMlCPOKiLlSi指定GOkIenGate可以使用那些端口接受extract发送

过来的数据.DYNAMICPORTLIST7840-7850POKl制定GOIdelIGate的mgr进程使用哪个TCP/IP端口侦

听请求.PORT7809ORACL∈MANAGERParameters-EventManagementLAGCKinCAL指定认为超过此时间即为严重错误的延迟最大值,如果延迟达到

此时间值则会在ggserr.logM面写入一条eιτor信息LagcriticalminutesioLAG1NBO指定一个延迟时限,如果延迟达到此时间值则会在ggseιτ∙log里面

写入一条info信息laginfominutes3LAGKEPORr指λ∈在ggserr.log中报告延迟的时间间隔.LAGREPORTHOURS1l,uKgeoldextkac

γs定义自动删除过时的队列以节省硬盘空间。一般按照两个规则来删除:首先,要满足检查点要求,没有使用过的队列不能删除,保证无数据丢失;其次,可以保留一定的天数。只有当已经使用

过且超过设定的天数后的队列会被自动删除。purgeoidextracts∕backup∕goldengate∕dirdat∕^,usecheckpoints,minkeepdays7ORACL∈OGG常用配置参数解析• Manager进程参数解析• EXtraCt进程参数解析• RePliCate进程参数解析IExtract参数概览抽取进程有以下方面参数:•Checkpoint•复缶IJ目标- LocalSystem- MultipleRemoteSystems- OnetomanyGoldenGateTrails•数据源- WhichTables- WhichRowsandColumns- WhichOperations•数据影射和变换EXtraCt参数文件举例-日志抽取进程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参数文件举例-传输进程extractdpeszsetenv(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

passthruREPORTAΓ01:59reportro∏overat02:00rmthost2,mgrport7809,compressRMTTRAIL√dirdat∕rtdynamicresolutiontableSAPSR3.*;tableops$zdpadm.*;EXtraCt参数(一)CHECKPARAMS如果加入该参数,表示下次运行只是检查一下语法,并不实际

运行进程。注意:该命令只能检查一些简单语法,并不能保证参数文件是

完全正确的。COMMENT注释行,也可以修两个中划线一代替.

YheCkParamS表示本行已经被注释掉EXTRACT定义抽取进程的名字OBEY可以将外部文件的内容包含到本参数文件中来。用于将些可一

以重复利用的参数文件部分内容隔离出来,便于统一修改。Obeytables.txtIableexchjde定义所需要排除的表。如果在table里面定义了使用通配符,那

么可以使用该参数定义排除掉其中的部分表。如1:tableexcludectais2.TMP*;tableexcludectais2.TEMPTAB;EXtraCt参数(JEiUPDAiEAFTEKSI

[GnoreupdateaftersGetupdatebeboresi

[GnoreupdateaftersJetupdatesiGnoreupdatesGetdeletesi

ignoredeletesGEilNSEKiSI[GnoreinsertsGEIKUNCAlESlIgnoretruncates:)是含在队列中写入后影像,缺省U制是否在队列中与入前影像,缺省不复制是否复制UPdate操作,缺省复制是否复制delete操作,缺省复制是否复制insert操作,缺省复制是否复制truncate操作,缺省不复制.J1«/AQEXtraCt参数(三)KMTHOST指定目标系统及其GOkienGateMaIlager进程的端口号,也用于

定义是否使用压缩进行传输。rmthost2,mgrport7809,compressRMTTRAlL指定写入到目标端的哪个队列。EXΓ1KA1L指定与人到本地的哪个队列。SQLEXEC在extract运行时首先运行一个Sql语句。sqlexec"Altersessionsetconstraints=deferredπPassthku禁止extract与数据库交互,适用于DataPlImP传输进程

(dpeXX)oGElENVISETEJNV针对extract进程设定系统环境变量。sete∩v(NLS_LANG=AMERICAN_AMERICA.ZHSI6GBK)ORACL∈EXtTaCt参数(四)REPORT定义自动定时报告。REPORTAT01:59Siatoptions定义每次使用Stat时统计数字是否需要重置。Repurtcuunt报告已经处理的纪录条数统计数字。ΓLTRACE打开对于数据库I」志的跟踪Ll志ΓRACE∕TRACE2DISCARDFILE打开对GoIdelIGate进程的跟踪日志,一般用于调试。定义discard文件位置,如果处理中有纪录出错会写入到此文件

中。discardfile∕oradata∕golde∩gate∕repkj.dsc,append,megabytes10OmEXtraC参数(五)NUMFILES定义本extract为最大多少张表预留空间,缺省为500,超过

500张表需要设定一个比实际表数略大的值。numfiles3000KURGEOLDEXIRACIs同mgr进程,可以设置自动删除队列,建议在mgr设置。KEPORlROLLoVER设定切换一个日志的时间和间隔。

reportrolloverat02:00Ikainsmemoky设定GokknGate的抽取进程能够使用的内存大小。如下参数

指定本进程最大只能占用2G内存,其中每个事务最大占用内

存不能超过500M,如果超过则使用指定目录作为虚拟内存,

该i录下的单个文件大小为4G,最多只能在该≡录下占用8G

空间作为缓存:transmemorydirectory(∕backup∕golde∩gate∕dirtmp,8G,4G),ram

2G,transram500MORACL∈EXtraC参数(六)Dbuptiuns指定对于某种特定数据库所需要的特殊参数。SuukcedbjUSERID,PASSWORDIRANLoGoPTIoNb指定所要登陆的数据库名称,用户名和密码。对于Orade无需指

定SoIIrCedb,直接指定用户名和密码即可。Useridgoldengate,passwordgoldengate指定在解析数据库H志时所需要的特殊参数。例如,对于裸设备,可能需要加入下列参数:Iranlogoptionsrawdeviceoffset0VVAKNLoNGlRAN5指定对于超过一定时间的长交易可以在ggserr.log里面写入警告信息。例如,每隔30分钟检查一次长交易,对于超过12个小时的进行告警:-WarnIongtrans12h3checkintervals30mOGG常用配置参数解析• Manager进程参数解析• EXtraCt进程参数解析• RePliCate进程参数解析IReplicat参数概览提供如下方面参数:•Checkpoint•数据影射关系- Optionalrow-levelselectioncriteria- Optionalcolumnmappingfacilities- Optionaltransformationservices- OptionalStoredProcedureorSQLqueryexecution•错误处理机制•其它可选参数ORACL∈IReplicat参数举例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检查参数语法然后停止。UOMMEM注释仃。Keplicat定义进程名称。replicatrepszUSERlD指定登陆目标数据库的用尸名和密码。Useridgoldengate,password123456UBEY将外部文件包含到参数文件中。ORACL∈RePIiCat命令(二)Assumetargetdefs假定两端数据结构一致使用此参数。Suurcedefs假定两端数据结构不•致,使用此参数指定源端的数据

结构定义文件。该文件需要由GoIdeiIGate工具产生。用于使用在map中使用*匹配时排除掉指定的表T域似于于源端的tablexclude。mapexcludeCTAIS2.JC_GY_SA/WSA/HMAPctais2.*,TARGETctais2.*;GetdeletesiIgnoredeletes是否复制delete操作,缺省为复制。GetupuatestIgnoreupdates是否复制IIPdate操作,缺省为复制。RePliCat命令(三)GetinsektsI

[Gnoreinserts是否复制insert操作复制。GEluPDAlEAlIERbIIgnoreupdateafters是否读取后影像,缺省为读取。JetupdstebeforesiGnoreupdatebefores是否读取前影像,缺省为不读取。;ETTRUNCATESIGnoretruncates^WWrUlICatewra∏δwnδδpupαates允许执行无实际变化的IlPdate。例如,IIPdatea=a会纪录一条

UPdate,但是没有后影像,无法正确构筑Where语句。ORACL∈RePliCat命令(四)REPERROR定

XHWBreplicatAbend,即一旦出现错误即停止复制,此为缺省配置;Discard,出现错误后继续复制,只把错误的数据放到discard文件中。FeperrordefaultdiscardDISCARDFILE定义出错数据的输出文件。当数据出现错误后,可以用于查找错误原因。discardfile/oradata/golde∩gate/dirrpt∕repsz.dsc,append,

megabytes10HANDLECOLLISIONS自动过滤3(复时段的数据冲突,用于不能停机执彳了初始化

打开该参数后不会将数据错误报到discard文件中。IJYNAMlCRESUEUnoN次启动解析所有要复制表的结构。9QLEXEC调用存储过程或者执行Sq卜语句。可以将返回值作为依据

进行过滤条件,或者用户改变SeSSiorI变量。RePIiCat命令(五)Gkouptkansops将小的交易合并成为一个大的交易进行提交,减少提交次

数,降低系统IO消耗。grouptransops100MAXiKANSOPS将大父易拆分,每若十条纪录提父一次。

maxtransops1000BATCHSQL 针对批处理中针对某个表的大批量重复操作进行优化,提高批处理的处理速度。NUMFILES定义进程中表的最大数据量,缺省为500.PUKGEOLDEXTKACrS定义自动删除队列,一般建议在mgr进程配置。练习•修改相应参数,使GOIdenGate自动清理Trail文件以释

放磁盘空间。ORACL∈Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.57概要・OGG资源及PatCh应用•OGG工作原理深入解析•OGG常用配置参数解析

卜OGG日常运维问题处理I•OGG调整及优化方法论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长交易监控• 查看长交易Ggsci>sendextract<进程名>,showtrans[threadn]

[countn]•

在extract进程中配置长交易告警,参数如下所示:Warnlongtrans12h,checkintervalsIOm•

在OGGng中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存到本地硬盘(默认dirtmp目录下) 但extract停掉后,便无法再自动缓存长交易ORACL∈Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.61表的重新再同步•

1停止目标端的rep进程;•

2在源端获得当前的SCn号• 3在源端使用exp导出所需重新初始化的表,并且指定到

刚才记下的SCn号。例如:exp...FLASHBACK_SCN=XXX• 4在目标端,使用imp导入数据;nohupimp...ignore=y&•

5编辑rep参数文件,在其map里面加入一个过滤条件,

对这些重新初始化的表应用指定SCn号之后的记录

mapsource.mytab,targettarget.mytab,filter(@GETENV("TRANSACTION”,“CSN”)>XXX);• 6启动目标端的rep进程;Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.62增加复制表•只是打开最小附加日志和表级日志的情形下,如果通

过*来匹配所有表,因此只要符合*所匹配的条件,那么

只要在源端建立了表之后GoIdenGate就能自动复制,

无需修改配置文件。但需要为新增的表添加附加日志

GGSCI>dbloginuseridgoldengate,passwordXXXXXXXGGSCI>infotrandata<schema>.<tablename>GGSCI>addtrandata<schema>,<tablename>•如果打开了最小附加日志+PK+UI附加日志,且新增表符

合*通配符,且新增表符合OGG要求(规范开发商),

不需要修改配置文件。Copyright©2008,Oracleand/oritsaffiliates.Allrightsreserved.63数据复制典型错误-SQLerror1403mapping错误描述:20/0-02-2513:20:08GGSWARNING218OracleGoldenGateDelivery^forOracle,rep_stnd.prm:SQLerror1403mappingHR.MY_EMPLOYEEtoHR.MY_EMPLOYEE.错误分析:-可能原因包括:• 两端结构不一致(异构环境,列和主键不同)• 两端有不一致记录• 附加日志不全-可以至IJdiSCard文件中查看具体错误信息,如果为UPdate或者delete找不到

对应记录,并且某几个字段为空,则可认定为缺步了附加日志ProblemreplicatingGGSLHISCUSTMERtoGGS2.HISCUSTMERErroroccurredwithdeleterecord(targetformat)...*CUST_CODE=注意;添加表的附加日志是即时生效,如"松力已经将数据抽入队列,

则重新添加附加日志后进行重新初始化,旧的队列数据不能被继续

使用ORACL∈数据复制典型错误-filter无法正常工作错误描述:TABLEdemo_src.people,FILTER(age>50);添加后无法正常工祚,“pdq招时力不也作用错误分析:-该配置从语法看没有错误,但是对比的列age如果不是主键,则

UPdate在日志中不存在该列值,也就没有办法通过该列进行比较一解决方法为Addtrandatademo_src.people,cols(id,age),nokey强

制为该列加入附加日志-注:也可通过fetch从数据库中读取该记录进行比较(只能在源端抽

取进程),如下所示(此方法每条记录均需要访问数据库,导致复

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

(age),FILTER(age>50);ORACL∈概要・OGG资源及PatCh应用•OGG工作原理深入解析•OGG常用配置参数解析•OGG日常运维问题处理

川・OGG调整及优化方法论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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论