OGG错误处理[综合材料]

上传人:人*** 文档编号:507483244 上传时间:2023-02-17 格式:DOCX 页数:95 大小:117.23KB
返回 下载 相关 举报
OGG错误处理[综合材料]_第1页
第1页 / 共95页
OGG错误处理[综合材料]_第2页
第2页 / 共95页
OGG错误处理[综合材料]_第3页
第3页 / 共95页
OGG错误处理[综合材料]_第4页
第4页 / 共95页
OGG错误处理[综合材料]_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《OGG错误处理[综合材料]》由会员分享,可在线阅读,更多相关《OGG错误处理[综合材料](95页珍藏版)》请在金锄头文库上搜索。

1、第一章GoldenGate错误分析与处理在维护GoldenGate过程中,由于各种意外情况,难免还是会遇到各种各样的问题。掌握一些常见的GoldenGate故障诊断和错误分析的方法是非常有必要的,而且掌握这些错误分析工具也进一步加深对GoldenGate产品的认识与对GoldenGate原理的理解。1.1 GoldenGate常见异常处理GoldenGate运行起来后,随着时间的推移可能会碰到各种各样的问题,下面就来介绍常见的异常现象以及常见的异常处理方法。1.1.1 异常处理的一般步骤首先确定是GoldenGate的哪类进程有故障(是抽取,投递还是复制进程有问题),解决故障的一般思路如下。(

2、1)通过GGSCIview report命令查找ERROR字样,确定错误原因并根据其信息进行排除。(2)通过GGSCIview ggsevt查看告警日志信息。(3)检查两端数据库是否正常运行,网络是否连通。(4)通过logdump工具对队列文件进行分析。1.1.2 RAC单节点失败在RAC环境下,GoldenGate软件安装在共享目录下,可以通过任一个节点连接到共享目录,启动GoldenGate运行界面。如果其中一个节点失败,导致GoldenGate进程中止,可直接切换到另外一个节点继续运行。操作步骤如下。(1)以Oracle用户登录源系统(使用另外一个正常的节点)。(2)确认将GoldenG

3、ate安装的所在文件系统装载到另一节点相同目录。(3)确认GoldenGate安装目录属于Oracle用户及其所在组。(4)确认Oracle用户及其所在组对GoldenGate安装目录拥有读写权限。(5)进入GoldenGate安装目录。(6)执行./ggsci进入命令行界面。(7)执行start mgr启动MGR。(8)执行start er *启动所有进程。检查各进程是否正常启动,即可进入正常复制。1.1.3 Extract常见异常以下为列举的一些常见错误信息作参考用。Extract进程包括抽取与投递进程,投递进程报错大部分原因是由于网络故障。对于源数据库,抽取进程ext*如果变为abend

4、ed,则可以通过在GGSCI中使用view report命令查看报告,可以通过搜索ERROR快速定位错误。一般情况下,抽取异常的原因是因为其无法找到对应的归档日志,可以通过到归档日志目录命令行下执行示例9-1:ls lt arch_x_xxxx.arc查看该日志是否存在,如不存在则可能的原因如下。“日志已经被压缩。“GoldenGate无法自动解压缩,需要人工解压缩后才能读取。“日志已经被删除。如果日志已经被删除,需要进行恢复才能继续复制。一般需要定期备份归档日志,并清除旧的归档日志。需要保证归档日志在归档目录中保留足够长时间之后,才能被备份和清除。即定期备份清除若干小时之前的归档,而不是全部

5、归档。保留时间计算如下。某归档文件保留时间?抽取进程处理完该文件中所有日志所需的时间。可以通过命令行或者GoldenGate Director Web界面,运行info extxx showch命令查看抓取进程ext处理到哪条日志序列号。在此序列号之前的归档,都可以被安全的清除。抽取进程在抽取不支持的数据对象时也会abend,report文件会有详细的报错信息,根据report文件来定位错误信息然后再排错即可。下面再单独列出更多的几个故障。(1)Extract: Application failded to initialize(Win)。错误信息:run GGSCI command but

6、the Alert window report Application failded to initialize(0xc000026e)。GoldenGate在Windows平台上需要安装Microsoft Visual C + 2005 SP1 Redistributable Package。如果是Microsoft Itanium平台,需要安装vcredist_IA64.exe。Windows 2008需以下额外操作:右击cmd (DOS),选择run as administrator,然后在该命令行窗口中启动MGR和Extract才能够读取数据库日志。将OGG安装为服务时(即运行“in

7、stall ADDSERVICE”),需要使用管理员权限,这样启动服务后即能访问日志。通过以下方法为运行MGR和Extract的用户添加读取日志文件的权限,右键单击文件-property-security-edit-add。(2)Extract: Cannot load program./ggsci错误分析:请首先检查该OGG Build是否与操作系统和数据库相符;其次如果是Aix请检查xLC版本是否符合10.0以上。另外,检查环境变量中动态库路径是否包含了数据库动态库目录,例如:示例9-2:export LD_LIBRARY_PATH=$ORACLE_HOME/lib不同平台下的环境变量不同

8、。“AIXLIBPATH。“Solaris、Linux等LD_LIBRARY_PATH。“HP-UnixSHLIB_PATH。重设环境变量需重启Mgr和Ext/Rep进程。(3)Extract: Block size mismatch (8192/512)裸设备的偏移量各操作系统默认为0,但AIX默认为4096。当创建裸设备时使用了-TO选项时,Oracle不会跳过4096字节而是直接从0开始读写。 因此在AIX下使用裸设备时,出现此错误需要指定OGG从偏移量0开始读取。示例9-3:tranlogoptions rawdeviceoffset 0该参数其在实际环境中使用几率非常高,在以前版本中

9、如果缺少此参数Extract立即终止,但新版本Extract会持续进行尝试,并不自动终止,需检查报告文件。(4)Extract: ORA-15000 ASM connection error该错误为OCI错误,表示Extract是在连接数据库时出现问题,根据错误信息判断为权限问题。首先在Extract参数中检查ASM相关参数tranlogoptions asmuser sys+ASM1,asmpassword oracle,再检查tnsnames.ora和listener.ora验证ASM实例配置是否正确,确认ASM用户具有SYSDBA权限;如果使用SYS,需要将ASM实例的init.ora中

10、REMOTE_LOGIN_PASSWORDFILE参数设置为SHARED(多个数据库可以使用一个password文件,只有SYS用户可以远程登录)。使用sqlplus验证:示例9-4:sqlplus sys/oracleasm1 as sysdba;/可以登录sqlplus sys/oracleasm1; /报告15000错误(5)Extract: Encountered SCN That Is Not Greater Than The Highest SCN Already Processed原因分析:在Oracle RAC环境中,Extract会启动一个coordinator线程对各个节点

11、上的操作进行根据SCN进行排序,它在交易提交后会等待THREADOPTIONS MAXCOMMITPROPAGATIONDELAY参数所定义时间来确认空闲节点没有交易,然后再收集交易数据;写入该交易后如果空闲节点后来又读到了一个SCN号要小的交易,则会报告该错误。可能原因:“各节点之间没有配置时钟同步。“一个节点比另外一个节点慢(IO问题可能性较大)。解决办法:调整Extract参数:示例9-5:THREADOPTIONS MAXCOMMITPROPAGATIONDELAY IOLATENCY MAXCOMMITPROPAGATIONDELAY有效范围是0-90000ms,默认为3s(即300

12、0ms)。GGS V9.x多了一个IOLATENCY参数,可以与上面参数一起加大等待时间。IOLATENCY默认为1.5s,最大值为180000。建议出现该错误后可以将此二参数设置为较大值,然后逐步降低获取最佳设置。需要补充说明的是,出现此错误后,因后面的交易可能已被写入日志,重启Extract可成功启动,但是可能出现如下问题:Extract会重写当前队列覆盖前面的交易数据,后面的Data Pump进程可能会出现“abend with incompatible record errors”错误终止(旧版本可能出现)。此问题的恢复步骤如下。停止所有Data Pump和Replicat,针对所有的

13、Extract记录其Write Checkpoint的队列Seqno。对于每个Extract向下滚动一个队列:示例9-6:ALTER EXTRACT name, ETROLLOVER启动Extract查看是否滚动到了下一个队列,记录其新队列seqno,应当是旧队列号+1。修改Data Pump从新的队列开始传输:示例9-7:ALTER EXTRACT pump_name, EXTSEQNO # EXTRBA 0重启Data Pump查看是否能够重启成功并从新的队列传输。修改Replicat参数文件,加入或者打开HANDLECOLLISIONS,如果有GROUPTRANSOPS和MAXTRANS

14、OPS请注释掉,启动Replicat,观察其是否能够读取新传输过来的队列如Replicat无法自动滚动到下一个队列,需要通过如下命令手工滚动:示例9-8:alter replicat replicat_name, EXTSEQNO # EXTRBA 0等待Replicat处理到结尾没有延迟时,可以关闭HANDLECOLLISIONS和恢复原来的GROUPTRANSOPS和MAXTRANSOPS参数。重新启动Replicat即可恢复正常复制。1.1.4 网络故障如果MGR进程参数文件里面设置了autorestart参数,GoldenGate可以自动重启,无需人工干预。当网络不稳定或者发生中断时,

15、GoldenGate负责产生远地队列的Pump进程会自动停止。 此时,MGR进程会定期根据mgr.prm里面autorestart设置自动启动Pump进程以试探网络是否恢复。在网络恢复后,负责产生远程队列的Pump进程会被重新启动,GoldenGate的检查点机制可以保证进程继续从上次中止复制的日志位置继续复制。需要注意的是,因为源端的抽取进程(Capture)仍然在不断地抓取日志并写入本地队列文件,但是Pump进程不能及时把本地队列搬动到远地,所以本地队列文件无法被自动清除而堆积下来,需要保证足够容量的存储空间来存储堆积的队列文件。计算公式如下。存储容量?单位时间产生的队列大小网络故障恢复时间MGR定期启动抓取和复制进程参数配置参考:示例9-9:GGSCI edit param mgrport 7809autorestart er *,waitminutes 3,retries 5,RESETMINUTES 60每3分钟重试一次,5次重试失败以后等待60分钟

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 劳务/用工合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号