GoldenGate 故障解决案例10.docx
- 文档编号:6818734
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:21
- 大小:27.99KB
GoldenGate 故障解决案例10.docx
《GoldenGate 故障解决案例10.docx》由会员分享,可在线阅读,更多相关《GoldenGate 故障解决案例10.docx(21页珍藏版)》请在冰豆网上搜索。
GoldenGate故障解决案例10
GoldenGate故障解决案例
ORACLE(中国)软件系统有限公司
目录
1前期准备4
1.1操作系统环境变量4
1.2GoldenGate运行操作系统用户4
1.3操作系统资源使用限制4
1.4源数据库必须启动归档模式并开启附加日志5
1.4.1Oracle数据库5
1.4.2DB2数据库5
1.5AIXXLC版本5
1.6HP-UXaCC版本6
1.7WindowsC++版本6
1.8GoldenGate安装目录6
1.9RAC相关设置6
1.10端口设置7
1.11压缩传输设置7
1.12待复制表名设置7
1.13队列文件保存期限设置7
1.14抽取及复制分组7
1.15AIX使用裸设备8
1.16同步表清单8
1.17临时表排除8
1.18UNIXGGSCI需要lib包验证8
2常见错误处理10
2.1AIXGGSCI无法运行10
2.2HP-UXGGSCI无法运行10
2.3OGG-0129611
2.4OGG-0115411
2.5OGG-0108812
2.6OGG-0122412
2.7OGG-0103112
2.8OGG-0107213
2.9OGG-0147613
2.10OGG-0085013
2.11OGG-01027(长事务)14
2.12队列文件保存天数15
2.13复制进程拆分及指定队列文件及RBA15
2.14BOUNDEDRECOVERY15
2.15排除不复制的表15
2.16从指定时间重新抓取15
2.17进程无法停止16
2.18CLOB处理16
2.19DB2不能使用checkpointtable16
2.20Datapump进程每次只传一个文件16
2.21Extract进程产生core文件17
2.22中文字节数问题17
3中文表/中文字段处理18
4Extract拆分方法19
5Datapump和replicat拆分方法23
6Logdump使用指引26
1前期准备
前期准备可以避免很多不必要的错误,因此在实施之前可以尽量完成以下准备工作。
1.1操作系统环境变量
HP-UX:
exportLD_LIBRARY_PATH=/ggs/11.1:
$LD_LIBRARY_PATH
AIX:
exportLIBPATH=/ggs/11.1:
$LIBPATH
这里要注意,将GoldenGate安装目录放在LD_LIBRARY_PATH/LIBPATH环境变量最前面
1.2GoldenGate运行操作系统用户
建议使用oracle用户运行GoldenGate,oracle用户已将oracle相关环境变量设置好,包括lib相关的环境变量。
如果使用独立的GoldenGate用户,可以将oracle用户的环境变量复制到profile文件中,额外添加lib包相关的内容。
1.3操作系统资源使用限制
使用操作系统命令:
ulimit–a
查看相应的系统资源使用限制,通过修改/etc/security/limits文件,建议都设置unlimitied。
如果不能全部设置为unlimited,必须将以下参数设置为unlimited:
maxmemorysize(kbytes,-m)unlimited
filesize(blocks,-f)unlimited
datasegsize(kbytes,-d)unlimited
cputime(seconds,-t)unlimited
stacksize(kbytes,-s)unlimited
很多情况下出现问题,和stack没有设置成unlimited有关。
1.4源数据库必须启动归档模式并开启附加日志
1.4.1Oracle数据库
Oracle数据库开启归档模式,数据库需要重启,步骤如下:
SQL>SELECTLOG_MODEFROMV$DATABASE;
SQL>SHUTDOWNIMMEDIATE
SQL>STARTUPMOUNT;
SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST='/U01/archive';
SQL>ALTERDATABASEARCHIVELOG;
SQL>ALTERDATABASEOPEN;
SQL>ARCHIVELOGLIST;
SQL>ALTERSYSTEMSWITCHLOGFILE;
SQL>ALTERSYSTEMARCHIVELOGCURRENT;
SQL>ALTERDATABASEADDSUPPLEMENTALLOGDATA;
SQL>SELECTSUPPLEMENTAL_LOG_DATA_MINFROMV$DATABASE;
1.4.2DB2数据库
无论DB28还是DB29系列都需要重启数据库。
DB28系列:
必须设置USEREXIT和LOGRETAIN参数
db2updatedbcfgfor
db2updatedbcfgfor
DB29系列:
可以不使用USEREXIT和LOGRETAIN参数,而是使用LOGARCHMETH1和LOGARCHMETH2参数开启归档模式,但是LOGRETAIN仍需设置为ON
1.5AIXXLC版本
AIX5.3需要XLC/C++Runtimev10.1以上以及libpthreadsversion5.3.0.51或以上,libpthreads属于基础包,基本都会满足。
AIX5.2需要XLC/C++Runtimev9.0以上以及libpthreadsversion5.2.0.106或以上,libpthreads属于基础包,基本都会满足。
很多情况XLC版本为9.0以下,此时必须升级XLC版本
1.6HP-UXaCC版本
OnHP-UX11.23IA64,OracleGoldenGaterequiresaCC:
HPaC++/ANSICB3910B
A.06.05orneweraC++libraries.PHSS_34041ornewerisrequired.
1.7WindowsC++版本
这里要注意,GoldenGate的版本是和数据库和操作系统相关的,如果是64位的OS,结果安装了32位的数据库,必须使用32位的GoldenGate和32位的C++2005sp1redistributablepackage。
32位下载地址:
64位下载地址:
1.8GoldenGate安装目录
OGG安装目录建议在存储阵列上,但是在mount时需注意,不能使用并发参数,例如:
在AIX下,不能使用CIO参数。
如果使用已有的mount点,并且使用并发参数,必须新建文件系统,重新mount,作为GoldenGate安装目录。
1.9RAC相关设置
必须保证GoldenGate可以访问到RAC环境任何一个节点的归档日志,可以采用并行文件系统或NFS,一般采用NFS。
在extract参数文件中指定参数:
TRANLOGOPTIONSaltarchivelogdestprimaryinstanceins1/archive01,altarchivelogdestinstanceins2/archive02
1.10端口设置
在mgr.prm中设置动态端口范围
dynamicportlist7840-7914
很多没有设置为这个范围,导致容灾中心Director不能观察到网省端的运行状态。
1.11压缩传输设置
在datapump参数文件中指定压缩参数,否则将占用较大的网络带宽,导致传输时间过长。
RMTHOST10.100.xx.xx,MGRPORT7839,compress
1.12待复制表名设置
在参数文件中建议使用具体要复制的表名称,例如:
schema.table_name的方式,便于后期维护。
1.13队列文件保存期限设置
在mgr.prm文件中进行设置:
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints,minkeepdays3
如果空间不够,可将minkeepdays修改为:
MINKEEPFILESMINKEEPHOURS。
如果空间仍然紧张,仍要求立即释放空间,可修改为:
MINKEEPFILES,将值设置为1,即只保留一个处理过的队列文件。
1.14抽取及复制分组
针对大的应用系统,需对要复制的表进行分组,例如:
营销系统,至少要分6-8个Extract、datapump和replicat进程。
任何分组需要和应用系统开发商进行协调。
1.15AIX使用裸设备
在extract,datapump,replicat参数文件中必须添加:
TRANLOGOPTIONSRAWDEVICEOFFSET0
1.16同步表清单
只同步和应用系统相关的schema下面的表,很多网省的参数文件,直接把所有用户都列在里面,其中很多是数据库本身自己使用的用户,例如:
'SYS','SYSTEM','DBSNMP','SYSMAN','OUTLN','MDSYS','ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS','XDB','ORDPLUGINS','OLAPSYS'
1.17临时表排除
很多网省在参数文件中使用shcema.*的方式,这样有很多临时表也会进行复制,经于应用系统开发商确认,TEMP和TMP开头的表根本不需要复制,因此在参数文件中直接排除这些临时表。
extract:
TABLEEXCLUDESCHEMA.TEMP*
TABLEEXCLUDESCHEMA.TMP*
replicat:
MAPEXCLUDESCHEMA.xxx
1.18UNIXGGSCI需要lib包验证
在GoldenGate安装目录运行:
lddggsci
验证所需要的lib包,必须保证全部可以找到。
例如:
下面的提示有lib包没有找到
linux-gate.so.1=>(0x00c10000)
libdl.so.2=>/lib/libdl.so.2(0x006d2000)
libicui18n.so.38=>/u01/app/goldengate/libicui18n.so.38(0x00110000)
libicuuc.so.38=>/u01/app/goldengate/libicuuc.so.38(0x00cd6000)
libicudata.so.38=>/u01/app/goldengate/libicudata.so.38(0xb74c3000)
libpthread.so.0=>/lib/libpthread.so.0(0x006d8000)
libxerces-c.so.28=>/u01/app/goldengate/libxerces-c.so.28(0x006f0000)
libnnz10.so=>notfound
libclntsh.so.10.1=>notfound
libstdc++.so.6=>/usr/lib/libstdc++.so.6(0x054b9000)
libm.so.6=>/lib/libm.so.6(0x006a9000)
libgcc_s.so.1=>/lib/libgcc_s.so.1(0x00271000)
libc.so.6=>/lib/libc.so.6(0x00561000)
/lib/ld-linux.so.2(0x00543000)
设置相关环境变量或安装缺失的操作系统补丁,确认全部lib包可以找到,如下所示:
$lddggsci
linux-gate.so.1=>(0x00af3000)
libdl.so.2=>/lib/libdl.so.2(0x006d2000)
libicui18n.so.38=>/u01/app/goldengate/libicui18n.so.38(0x00cb3000)
libicuuc.so.38=>/u01/app/goldengate/libicuuc.so.38(0x0090e000)
libicudata.so.38=>/u01/app/goldengate/libicudata.so.38(0xb74d1000)
libpthread.so.0=>/lib/libpthread.so.0(0x006d8000)
libxerces-c.so.28=>/u01/app/goldengate/libxerces-c.so.28(0x00110000)
libnnz10.so=>/u01/app/oracle/product/10.2.0/db_1/lib/libnnz10.so(0x006f0000)
libclntsh.so.10.1=>/u01/app/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1(0x00e14000)
libstdc++.so.6=>/usr/lib/libstdc++.so.6(0x054b9000)
libm.so.6=>/lib/libm.so.6(0x006a9000)
libgcc_s.so.1=>/lib/libgcc_s.so.1(0x004bd000)
libc.so.6=>/lib/libc.so.6(0x00561000)
/lib/ld-linux.so.2(0x00543000)
libnsl.so.1=>/lib/libnsl.so.1(0x00a54000)
2常见错误处理
2.1AIXGGSCI无法运行
错误信息:
CannotloadICUresourcebundle'ggMessage',errorcode2-Nosuchfileordirectory
CannotloadICUresourcebundle'ggMessage',errorcode2-Nosuchfileordirectory
IOT/Aborttrap(coredumped)
或者ggsci可以启动,但是运行任何命令都报上面的错误。
处理方法:
通常使用已有的mount点安装GoldenGate,在mount时使用了并发CIO参数。
新建文件系统,重新mount,作为GoldenGate安装目录。
错误信息:
$./ggsci
exec():
0509-036Cannotloadprogramggscibecauseofthefollowingerrors:
0509-130Symbolresolutionfailedforggscibecause:
0509-136Symbol_GetCatName__FiPCc(number158)isnotexportedfromdependentmodule/usr/lib/libC.a[ansi_64.o].
0509-136Symbol_Getnumpunct__FPCc(number162)isnotexportedfromdependentmodule/usr/lib/libC.a[ansi_64.o].
0509-136Symbol__ct__Q2_3std8_LocinfoFPCci(number183)isnotexportedfromdependentmodule/usr/lib/libC.a[ansi_64.o].
0509-192Examine.loadersectionsymbolswiththe'dump-Tv'command.
原因是XLC是6.0版本,升级XLC版本到10.1以上,问题解决
2.2HP-UXGGSCI无法运行
错误信息:
coredumped
该问题只在HP-UX11.31上发现。
处理方法:
环境变量设置问题,参见“1.1操作系统环境变量”小节
错误信息:
aCCruntime:
Useof"-mt"mustbeconsistentduringbothcompilationandlinking.
IOTcoredumped
该问题在HP-UX11.23上发现,原因是没有C++运行环境
OnHP-UX11.23IA64,OracleGoldenGaterequiresaCC:
HPaC++/ANSICB3910B
A.06.05orneweraC++libraries.PHSS_34041ornewerisrequired.
处理方法:
安装补丁包
2.3OGG-01296
WARNINGOGG-01154OracleGoldenGateDeliveryforOracle,repyxb.prm:
SQLerror1403mappingSGPM.P_SMS_SENDtoSGPM.P_SMS_SEND.
WARNINGOGG-01003OracleGoldenGateDeliveryforOracle,repyxb.prm:
Repositioningtorba2509817inseqno1.
ERROROGG-01296OracleGoldenGateDeliveryforOracle,repyxb.prm:
ErrormappingfromSGPM.P_SMS_SENDtoSGPM.P_SMS_SEND.
ERROROGG-01668OracleGoldenGateDeliveryforOracle,repyxb.prm:
PROCESSABENDING.
由于源端进行了表结构更改,没有通知目标端,导致此错误
处理方法:
1)先确认两端表结构是否一致
2)在源端查看附加日志是否enable
GGSCI>INFOTRANDATAschema.table_name
返回应该是enable,如果不是,重新添加
GGSCI>ADDTRANDATAschema.table_name
3)目标端数据库:
触发器,约束,job等是否已经禁止
4)使用logdump查看实际数据,分析原因
2.4OGG-01154
同上
2.5OGG-01088
错误信息:
ERROROGG-01088OracleGoldenGateDeliveryforOracle,pms_rep1.prm:
malloc2097152bytesfailed.
ERROROGG-01668OracleGoldenGateDeliveryforOracle,pms_rep1.prm:
PROCESSABENDING.
处理方法:
1、ulimit-a,验证操作系统对用户是否所有资源都是无限制,参见1.3小节。
2、将进程进行拆分,拆分为多个进程。
3、从下载最新的补丁包,升级GoldenGate。
2.6OGG-01224
ERROROGG-01224OracleGoldenGateManagerforOracle,mgr.prm:
Nobufferspaceavailable
ERROROGG-01224OracleGoldenGateCaptureforOracle,dpema.prm:
TCP/IPerror9(Badfilenumber).
修改mgr.prm,扩大动态端口范围,dynamicportlist7840-7914
2.7OGG-01031
ERROROGG-01031Thereisaprobleminnetworkcommunication,aremotefileproblem,encryptionkeysfortargetandsourcedonotmatch(ifusingENCRYPT)oranunknownerror.(ReplyreceivedisExpected4bytes,butgot0bytes,intrail./dirdat/t1000026,seqno26,readingrecordtrailertokenatRBA103637218).
2011-01-0611:
04:
16ERROROGG-01668PROCESSABENDING.
处理方法:
可能是目标端的trailfile出问题了,前滚重新生成一个新的
SENDEXTRACTxxxROLLOVER
或者:
alterextractxxxrollover
2.8OGG-01072
ERROROGG-01072LOBROW_get_next_chunk(LOBROW_row_t*,BOOL,BOOL,BOOL,LOBROW_chunk_header_t*,char*,size_t,BOOL,*)Bufferoverflow,needed:
132,alloc2.
处理方法:
1、如果版本为11.1.1.0.1Build078版本,升级到最新的补丁包
2、使用ulimit–a查看资源使用限制,调整资源为unlimited
3、extract:
DBOPTIONSLOBBUFSIZE
4、replicat:
DBOPTIONSLOBWRITESIZE1MB
2.9OGG-01476
ERROROGG-01476Thepreviousrunabendedduetoanoutofordertransaction.IssueALTERETROLLOVERtoadvancetheoutpu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GoldenGate 故障解决案例10 故障 解决 案例 10
![提示](https://static.bdocx.com/images/bang_tan.gif)