《《叱咤风云:GoldenGate企业级运维实战》第9章__GoldenGate错误分析与处理.doc》由会员分享,可在线阅读,更多相关《《叱咤风云:GoldenGate企业级运维实战》第9章__GoldenGate错误分析与处理.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章 GoldenGate错误分析与处理在维护GoldenGate过程中,由于各种意外情况,难免还是会遇到各种各样的问题。掌握一些常见的GoldenGate故障诊断和错误分析的方法是非常有必要的,而且掌握这些错误分析工具也进一步加深对GoldenGate产品的认识与对GoldenGate原理的理解。9.1 GoldenGate常见异常处理GoldenGate运行起来后,随着时间的推移可能会碰到各种各样的问题,下面就来介绍常见的异常现象以及常见的异常处理方法。9.1.1 异常处理的一般步骤首先确定是GoldenGate的哪类进程有故障(是抽取,投递还是复制进程有问题),解决故障的一般思路如下。
2、(1)通过GGSCIview report命令查找ERROR字样,确定错误原因并根据其信息进行排除。(2)通过GGSCIview ggsevt查看告警日志信息。(3)检查两端数据库是否正常运行,网络是否连通。(4)通过logdump工具对队列文件进行分析。9.1.2 RAC单节点失败在RAC环境下,GoldenGate软件安装在共享目录下,可以通过任一个节点连接到共享目录,启动GoldenGate运行界面。如果其中一个节点失败,导致GoldenGate进程中止,可直接切换到另外一个节点继续运行。操作步骤如下。(1)以Oracle用户登录源系统(使用另外一个正常的节点)。(2)确认将Golden
3、Gate安装的所在文件系统装载到另一节点相同目录。(3)确认GoldenGate安装目录属于Oracle用户及其所在组。(4)确认Oracle用户及其所在组对GoldenGate安装目录拥有读写权限。(5)进入GoldenGate安装目录。(6)执行./ggsci进入命令行界面。(7)执行start mgr启动MGR。(8)执行start er *启动所有进程。检查各进程是否正常启动,即可进入正常复制。9.1.3 Extract常见异常以下为列举的一些常见错误信息作参考用。Extract进程包括抽取与投递进程,投递进程报错大部分原因是由于网络故障。对于源数据库,抽取进程ext*如果变为aben
4、ded,则可以通过在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(0xce)。GoldenGate在Windows平台上需要安装Microsoft Visual C + 2005 SP1 Redistributable Package。如果是Microsoft Itanium平台,需要安装vcredist_IA64.exe。Windows 2008需以下额外操作:右击cmd (DOS),选择run as administrator,然后在该命令行窗口中启动MGR和Extract才能够读取数据库日志。将OGG安装为服务时(即运行“install
7、 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不同平台下的环境变量不同。 AIX
8、 LIBPATH。 Solaris、Linux等 LD_LIBRARY_PATH。 HP-Unix SHLIB_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中R
10、EMOTE_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,最大值为。建议出现该错误后可以将此二参数设置为较大值,然后逐步降低获取最佳设置。需要补充说明的是,出现此错误后,因后面的交易可能已被写入日志,重启Extract可成功启动,但是可能出现如下问题:Extract会重写当前队列覆盖前面的交易数据,后面的Data Pump进程可能会出现“abend with incompatible record errors”错误终止(旧版本可能出现)。此问题的恢复步骤如下。 停止所有Data Pump和Replicat,针对所有的Extra
13、ct记录其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即可恢复正常复制。 9.1.4 网络故障如果MGR进程参数文件里面设置了autorestart参数,GoldenGate可以自动重启,无需人工干预。当网络不稳定或者发生中断
15、时, GoldenGate负责产生远地队列的Pump进程会自动停止。 此时,MGR进程会定期根据mgr.prm里面autorestart设置自动启动Pump进程以试探网络是否恢复。在网络恢复后,负责产生远程队列的Pump进程会被重新启动,GoldenGate的检查点机制可以保证进程继续从上次中止复制的日志位置继续复制。需要注意的是,因为源端的抽取进程(Capture)仍然在不断地抓取日志并写入本地队列文件,但是Pump进程不能及时把本地队列搬动到远地,所以本地队列文件无法被自动清除而堆积下来,需要保证足够容量的存储空间来存储堆积的队列文件。计算公式如下。存储容量单位时间产生的队列大小网络故障恢
16、复时间MGR定期启动抓取和复制进程参数配置参考:示例9-9:GGSCI edit param mgrport 7809autorestart er *,waitminutes 3,retries 5,RESETMINUTES 60每3分钟重试一次,5次重试失败以后等待60分钟,然后重新试三次。9.1.5 Replicat进程常见异常对于目标数据库,投递进程repXX如果变为abended,则可以通过在GGSCI中使用view report命令查看报告,可以通过搜索ERROR快速定位错误。复制进程的错误通常为目标数据库错误,比如: 数据库临时停机。 目标表空间存储空间不够。 目标表出现不一致。可
17、以根据报告查看错误原因,排除后重新启动rep进程即可。需要注意一点:往往容易忽略UNDO表空间。如果DML语句中包含了大量的UPDATE和DELETE操作,则目标端UNDO的生成速度会很快,有可能填满UNDO表空间。典型错误(数据复制典型错误)如下:示例9-10:- SQL error 1403 mapping 2010-02-25 13:20:08 GGS WARNING 218 Oracle GoldenGate Delivery for Oracle, rep_stnd.prm: SQL error 1403 mapping HR.MY_EMPLOYEE to HR.MY_EMPLOYE
18、E.可能原因包括以下几个方面。 两端结构不一致(异构环境,列和主键不同)。 两端有不一致记录。 附加日志不全。可以到discard文件中查看具体错误信息,如果为UPDATE或者DELETE找不到对应记录,并且某几个字段为空,则可认定为缺少了附加日志。9.2 使用reperror进行错误处理对于Replicat进程处理DML操作过程中报错时,GoldenGate提供了一个参数用来控制如何处理Replicat进程的报错。这就是本节内容要介绍的reperror参数。这个参数能控制大部分的GoldenGate错误处理的手段。如某案例的Replicat进程参数如图9-1所示。图9-19.2.1 repe
19、rror处理类型与含义Reperror在GoldenGate11版本中共提供了7类处理错误方式,分别如下。(1)abend:Replicat遇到不能处理的记录时,回滚事务,然后停止处理,Replicat进程状态转为abend。(2)discard:将不能处理记录的错误信息放到discard文件而Replicat进程继续处理下面的记录。(3)exception:将错误按照预先定义好的方式处理。(4)ignore:将不能处理的记录忽略掉,然后继续处理下面的记录。(5)retryop maxretries :遇到不能处理的记录时,重试n次。(6)transabort ,maxretries , de
20、laycsesc;终止事务处理,将rba号指到该事务的开头,也可以指定重试几次。(7)reset:清除掉所有的reperror规则,然后将reperror的规则默认为abend。在Replicat进程的参数中,可以将任意一个处理类型设置为默认,如reperror、default、abend。通常,为了保证数据的一致性,都将reperror的默认规则设置为abend。9.2.2 复制进程常见数据库错误类型与处理方法在实际的GoldenGate系统中,很大一部分Replicat错误信息都类似于ORA开头的数据库错误(这里以Oracle数据库为例)。虽然,通常对于ORA错误,需要手动查找数据库的原因
21、,但可以用reperror处理一些预知的错误类型,然后再在数据库层面找到错误的原因,手动排除,而不至于导致该进程处理其他正常的表而abend掉。例如:可以忽略掉重复数据的插入而其他类型的报错则abend。示例9-11:Reperror (default, abend)Reperror (-1, ignore)当然,也可以只针对某张表的忽略掉重复数据的插入而abend掉其他类型的报错。示例9-12:REPERROR (-1, IGNORE)MAP sales.product, TARGET sales.product;REPERROR RESETMAP sales.account, TARGET
22、 sales.account;最常见的错误为ORA-1403。1403错误是指记录无法投递到目标库,纯属数据错误,要通过查看错误信息和discard文件,到两端库寻找相应记录,结合logdump分析队列中的实际数据,再分析出问题的原因。可能存在的原因有:两端表结构不一致;附加日志错误;初始化方法错误导致不一致;目标端级联删除、trigger没有被禁止;目标端存在Oracle的job或者操作系统任务修改数据。处理方法: 重新初始化该表。 手工修复该条数据。 修改reperror参数为discard或ignore模式,忽略掉错误(在使用这个参数之前用户应该非常清楚自己在做什么,因为它会导致两端数据
23、不一致)。9.3 Ddlerror处理DDL复制错误当GoldenGate打开了DDL复制时,当DDL复制报错时,则需要用到此处的ddlerror参数预处理一些常见的报错信息。Ddlerror对于抽取、复制进程均有效,默认为abend。Ddlerror参数的语法为:示例9-13:DDLERROR | DEFAULT RETRYOP MAXRETRIES RETRYDELAY INCLUDE | EXCLUDE IGNOREMISSINGTABLES | ABENDONMISSINGTABLES如当DDL复制报ORA-1430错误,传递了重复的alter语句导致,则可以用ddlerror (14
24、30, discard)将错误信息扔到discard文件里。其他的错误处理与reperror类似。9.4 Discardfile记录进程错误信息用discardfile 这个参数来生成一个discard文件,将GoldenGate不能处理的信息记录到这个文件。这样对GoldenGate的troubleshooting非常的有帮助。如源端表结构有变化,默认传递过来的数据应用时Replicat进程则报错,此时则可以通过discard文件看到报错信息位哪个表做了怎样的alter操作,再在目标端也将表结构改变一些,错误即可排除。Discard文件默认在GoldenGate安装目录的dirrpt子文件夹
25、,如图9-2所示。图9-2Discard文件记录的报错信息如图9-3所示。图9-39.5 GoldenGate常见错误分析(1)解决GoldenGate错误的一个关键点就是通过错误分析工具(包括report文件,ggserr.log discard文件logdump工具,GGSCI命令行)确定错误的根源是哪个组件引起的。 系统或者网络? 数据库报错或者应用报错? GoldenGate安装报错? GoldenGate的某个进程报错? GoldenGate的参数配置文件报错? SQL语句或者存储过程报错?然后再确定错误的原因,逐个排查。(2)当GoldenGate遇到错误时,则可以借助日志、rep
26、ort文件找到错误原因,一步一步来排查。一般的错误信息GoldenGate都会提示有相应的解决办法。如下介绍一个错误案例:通过命令:示例9-14:GGSCIview ggsevt 看到的报错信息如图9-4所示。图9-4通过view report dpeyb 看到的也是类似的信息。再来观察容灾端复制进程的报错信息为:示例9-15:2011-03-02 12:03:37 ERROR OGG-01028 Incompatible record in ./dirdat/yb, rba (getting header).通过logdump进入到该trail文件查看,如图9-5所示。图9-5通过分析推敲等
27、,确认是因为trail文件有一条记录已损坏,导致投递进程不识别,不能自动翻滚到下一个trail文件,而复制进程也不能自动应用到下一个trail文件,Pump进程通过手动etrollover,复制进程通过alter手动指定到下一个trail文件应用,故障即可排除。9.5.1 AIX GGSCI无法运行错误信息:示例9-16:Cannot load ICU resource bundle ggMessage, error code 2 - No such file or directoryCannot load ICU resource bundle ggMessage, error code 2
28、 - No such file or directoryIOT/Abort trap (core dumped)或者GGSCI可以启动,但是运行任何命令都报上面的错误。处理方法:通常使用已有的mount点安装GoldenGate,在mount时使用了并发CIO参数。新建文件系统,重新mount,作为GoldenGate安装目录。错误信息:示例9-17:$ ./ggsciexec(): 0509-036 Cannot load program GGSCI because of the following errors: 0509-130 Symbol resolution failed for
29、GGSCI because: 0509-136 Symbol _GetCatName_FiPCc (number 158) is not exported from dependent module /usr/lib/libC.aansi_64.o. 0509-136 Symbol _Getnumpunct_FPCc (number 162) is not exported from dependent module /usr/lib/libC.aansi_64.o. 0509-136 Symbol _ct_Q2_3std8_LocinfoFPCci (number 183) is not e
30、xported from dependent module /usr/lib/libC.aansi_64.o. 0509-192 Examine .loader section symbols with the dump -Tv command.原因是XLC是6.0版本,升级XLC版本到10.1以上,问题即可解决。9.5.2 HP-UX GGSCI无法运行错误信息:core dumped该问题只在HP-UX11.31上发现。处理方法:环境变量没有设置正确。9.5.3 OGG-01296示例9-18:ERROR OGG-01296 Oracle GoldenGate Delivery for O
31、racle, yx_rep3.prm: Error mapping from SGPM.A_PAY_FLOW to SGPM.A_PAY_FLOW.由于源端进行了表结构更改,没有通知目标端,导致此错误。处理方法:在目标端执行相应的语句,将表结构修改为和源端一致。9.5.4 OGG-01088错误信息:示例9-19:ERROR OGG-01088 Oracle GoldenGate Delivery for Oracle, pms_rep1.prm: malloc bytes failed.ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle
32、, pms_rep1.prm: PROCESS ABENDING.处理方法:(1)“ulimit a”,验证操作系统对用户是否所有资源都是无限制。(2)将进程进行拆分,拆分为多个进程。(3)从下载最新的补丁包,升级GoldenGate。9.5.5 OGG-01224示例9-20:ERROR OGG-01224 Oracle GoldenGate Manager for Oracle, mgr.prm: No buffer space available处理方法:修改mgr.prm,扩大动态端口范围,dynamicportlist 7840-7914。9.5.6 OGG-01031示例9-21:
33、ERROR OGG-01031 There is a problem in network communication, a remote file problem, encryption keys for target and source do not match (if using ENCRYPT) or an unknown error. (Reply received is Expected 4 bytes, but got 0 bytes, in trail ./dirdat/t, seqno 26, reading record trailer token at RBA ).20
34、11-01-06 11:04:16 ERROR OGG-01668 PROCESS ABENDING.处理方法:可能是目标端的trail file出问题了,前滚重新生成一个新的SEND EXTRACT xxx ROLLOVER,或者“alter extract xxx rollover”。9.5.7 OGG-01072示例9-22:ERROR OGG-01072 LOBROW_get_next_chunk(LOBROW_row_t *, BOOL, BOOL, BOOL, LOBROW_chunk_header_t *, char *, size_t, BOOL, *) Buffer over
35、flow, needed:132, alloc 2.处理方法:(1)如果版本为11.1.1.0.1 Build 078版本,升级到最新的补丁包。(2)使用“ulimit a”查看资源使用限制,调整资源为unlimited。(3)Extract: DBOPTIONS LOBBUFSIZE 。(4)replicat: DBOPTIONS LOBWRITESIZE 1MB。9.5.8 OGG-01476示例9-23:ERROR OGG-01476 The previous run abended due to an out of order transaction. Issue ALTER ETRO
36、LLOVER to advance the output trail sequence past the current trail sequence number, then restart. Then, use ALTER EXTSEQNO on the subsequent pump EXTRACT, or REPLICAT, process group to start reading from the new trail file created by ALTER ETROLLOVER; the downstream process will not automatically sw
37、itch to the new trail file.在初始化的时候,由于容灾端没有准备就绪,生产端来回进行了很多次的操作,导致生产端抽取混乱,此时在进行RMAN之前,重新启动抽取,忽略调之前的混乱信息。处理方法:“alter extract xxx, etrollover”。9.5.9 OGG-00850示例9-24:ERROR OGG-00850 Oracle GoldenGate Capture for DB2, extxa.prm: Database instance XP1 has both USEREXIT and LOGRETAIN set to off.ERROR OGG-01
38、668 Oracle GoldenGate Capture for DB2, extxa.prm: PROCESS ABENDING.处理方法:(I)如果是DB2 8.1/8.2,必须将USEREXIT和LOGRETAIN设置为ON。(2)如果是DB2 9.5,已经使用LOGARCHMETH1和LOGARCHMETH2代替以上两个参数,通常LOGARCHMETH1为DISK,LOGARCHMETH2为TSM,采用这两个参数开启归档模式。在DB2 9.5中,USEREXIT可以设置为OFF,但是LOGRETAIN仍需设置为ON。9.5.10 OGG-01027(长事务)示例9-25:WARNIN
39、G OGG-01027 Long Running Transaction: XID 82.4., Items 0, Extract YX_EXT1, Redo Thread 1, SCN 2379. (074), Redo Seq #5688, Redo RBA .可以通过下面的命令寻找更详细的信息:示例9-26:GGSCI send extract xxx, showtrans thread n count n其中,thread n是可选的,表示只查看其中一个节点上的未提交交易;count n也是可选的,表示只显示n条记录。例如查看xxx进程中节点1上最长的10个交易,可以通过下列命令:示例
40、9-27:GGSCI send extract extsz , showtrans thread 1 count 10记录XID,通过DBA查找具体的长交易执行的内容:示例9-28:GGSCI SEND EXTRACT xxx, SKIPTRANS THREAD /跳过交易GGSCISEND EXTRACT xxx, FORCETRANS THREAD /强制认为该交易已经提交使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,它们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。9.5.11 队列文件
41、保存天数在mgr.prm中,添加:示例9-29:PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3修改之后,必须重启manager即可看到队列文件占用的空间被按照上面指定的规则 释放。如果存储空间不够,可以将minkeepdays修改为MINKEEPHOURS。如果源端存储空间不足,最好修改最少保留的时间。9.5.12 复制进程拆分及指定队列文件及RBA拆分前通过INFO XXX获取队列文件信息及RBA号,返回样例如下:示例9-30:GGSCI INFO REPYXAREPLICAT REPYXA Last Started 201
42、1-01-08 19:48 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:01:42 ago)Log Read Checkpoint File ./dirdat/p First Record RBA 在将Replicat进程拆分后,指定从拆分前的队列文件及RBA号码开始复制:示例9-31:ALTER REPLICAT xxx EXTSEQNO nnn, EXTRBA mmm以上面的为例:示例9-32:ALTER REPLICAT REPYXA 556, EXTRBA 9.5.13 BOUNDED RECOVERY错误信息:示例9-33:BO
43、UNDED RECOVERY: reset to initial or altered checkpoint.数据库问题,不能读取第2个节点的archivelog文件。9.5.14 排除不复制的表在参数文件中增加:示例9-34:TABLEEXCLUDE schema.table_name9.5.15 从指定时间重新抓取重新抓取数据前提:归档文件没有删除。示例9-35:ALTER EXTRACT xxx, TRANLOG, BEGIN 2010-12-31 08:00时间格式:yyyy-mm-dd hh:mi:ss.cccccc如果是新建:示例9-36:ADD EXTRACT xxx, TRAN
44、LOG, BEGIN 2010-12-31 08:009.5.16 进程无法停止通常情况是在处理大交易,尤其在有超过2小时以上的大交易,建议等待进程处理完毕。处理方法:如果必须停止进程,可以强制杀死进程。示例9-37:send xxx forcestop9.5.17 CLOB处理如果包含CLOB字段,在Extract参数文件中必须添加:示例9-38:TRANLOGOPTIONS CONVERTUCS2CLOBS9.5.18 DB2不能使用checkpoint table处理方法:在增加Replicat进程时使用nodbcheckpoint参数。示例9-39:add replicat xxx,
45、exttrail /GoldenGate/dirdat/rb, nodbcheckpoint9.6 中文表/中文字段处理比如有个如下的中文表:示例9-40:create table 测试表(ID NUMBER,姓名 VARCHAR2(30),FLAG CHAR(1),CONSTRAINT PK_TESTD PRIMARY KEY (ID) USING INDEX);-源端创建MV LOG和MV:drop materialized view log on 测试表;create materialized view log on 测试表 with primary key;drop materialized view mv_cn_table;create materialized view mv_cn_table refresh fast on commit as select id,姓名 as en_name,flag from 测试表;在目标端创建表及view:示例9-41:crea