最新GoldenGate运维手册资料_第1页
最新GoldenGate运维手册资料_第2页
最新GoldenGate运维手册资料_第3页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、GOLDENGA运El 手册2014 年 4 月文档修改记录版本号日期说明编与者审核者V1.02014/4文档编写目录1 OGG常用监控命令 51.1说明 51.2 启动 GoldenGate 进程 51.3 停止 GoldenGate 进程 61.4查看整体运行情况 81.5查看参数设置 91.6查看进程状态 91.7查看延时 101.8查看统计信息 111.9查看运行报告 112 OGG的常见运维任务指南 132.1配置自动删除队列 132.2 配置启动 MGR时自动启动 Extract和Replicat进程132.3 配置 MGR自动重新启动 Extract和Replicat进程142.

2、4 长事务管理 142.5 表的重新再同步(需时间窗口) 172.6 表的重新再同步(无需时间窗口) 173 数据结构变更和应用升级 - 193.1 (仅复制DML时)源端和目标端数据库增减复制表 193.2 (仅复制DML时)修改表结构 213.3 (仅复制DML时)客户应用的升级 213.4 配置DDL复制自动同步数据结构变更 23(一)是否打开DDL复制23(二)打开DDL复制的步骤23(三)DDL复制的典型配置 254 异常处理预案 - 264.1 网络故障 264.2 RAC环境下单节点失败274.3 Extract进程常见异常274.4 Replicat进程常见异常284.5 异常

3、处理一般步骤 285 附录 305.1Oracle GoldenGate V11.1 数据复制限制 30(四)不支持文件等非结构化数据复制 30(五)Oracle 数据类型限制 30(六)Oracle DML 操作支持 31(七)Oracle DDL复制限制 325.2Oracle 9i 中如何为超过 32 列的无主键表添加附加日志 331 OGG常用监控命令1.1 说明对GoldenGate实例进行监控,最简单的办法是通过GGSCI命令行的方式进行。通过在命令行输入一系列命令,并查看返回信息,来判断GoldenGate运行情况是否正常。命令行返回的信息包括整体概况、进程运行状态、检查点信息、

4、参数文件配置、延时等。除了直接通过主机登录 GGSCI界面之外,也可以通过 GoldenGate Director Web界面登录到每个 GoldenGate实例,并运行GGSCI命令。假如客户部署了很多 GoldenGate实例,如果单独登录到每个实例的GGSCI界面,会很不方便,此时建议通过GoldenGate Director Web界面,登录到每个实例,并运行命令行命令。1.2 启动 GoldenGate 进程1)首先以启动 GoldenGate进程的系统用户(一般为oracle )登录源系统。2)进入GoldenGate安装目录,执行./ggsci 进入命令行模式。3)启动源端管理进

5、程 GGSCI > start mgr4)同样登陆到目标端 GoldenGate安装目录,执行./ggsci ,然后执行 GGSCI> start mgr启动管理进程。5)在源端执行 GGSCI > start er *启动所有进程6)同样登录到备份端执行GGSCI > start er *启动所有进程7)使用GGSCA info er *或者 GGSCI> info <进程名 >察看进程状态是否为 Running(表示已经启动)。注意有的进程需要几分钟起来,请重复命令观察其启动状态。说明:无论源还是目标,启动各extract/replicat进程前需

6、要启动 mgr进程。start 命令的一般用法是:start <进程名称>如:GGSCI> start extdm启动一个名叫 extdm的进程也可以使用通配符,如:GGSCI> start er * 启动所有的 extract 和 replicat 进程GGSCI> start extract *d* 启动所有的包含字符 d' extract 进程GGSCI> start replicat rep* 启动所有以“ rep “开头的 replicat 进程1.3 停止 GoldenGate 进程依照以下步骤停止 GoldenGate 进程:1)以启动

7、 GoldenGate 进程的系统用户 (一般为 oracle )登录源主机, 进入 GoldenGate 安装目录执行 ./ggsci 进入命令行管理界面2)(本步骤仅针对抽取日志的主extract进程,data pump进程和replicat 进程不需要本步骤)验证 GoldenGate 的抽取进程重起所需的日志存在,对各个主 extXX 进程,执行如下命令:ggsci> info extXX, showchRead Checkpoint #1Recovery Checkpoint (position of oldest unprocessed transaction in the

8、data source) :Thread #: 1Sequence #:9671RBA: 239077904Timestamp:2008-05-20 11:39:07.000000SCN: 2195.1048654191Redo File: Not availableCurrent Checkpoint (position of last record read in the data source):Thread #: 1Sequence #: 9671RBA: 239377476Timestamp: 2008-05-20 11:39:10.000000SCN: 2195.104865433

9、9Redo File: Not AvailableRead Checkpoint #2Recovery Checkpoint (position of oldest unprocessed transaction in the data source):Thread #: 2Sequence #: 5287RBA: 131154160Timestamp: 2008-05-20 11:37:42.000000SCN: 2195.1048640151Redo File: /dev/rredo07Current Checkpoint (position of last record read in

10、the data source):Thread #: 2Sequence #: 5287RBA: 138594492Timestamp: 2008-05-20 11:39:14.000000SCN: 2195.1048654739Redo File: /dev/rredo07首先察看 Recovery Checkpoint 所需要读取的最古老日志序列号,如举例中的实例 1 需要日志 9671 及其以后所有归档日志, 实例 2 需要序列号为 5287 及以后所有归档日志, 确 认这些归档日志存在于归档日志目录后才可以执行下一步重起。如果这些日志已经被删除, 则下次重新启动需要先恢复归档日志。注意

11、:对于 OGG 11及以后版本新增了自动缓存长交易的功能,缺省每隔4 小时自动对未提交交易缓存到本地硬盘,这样只需要最多8个小时归档日志即可。但是缓存长交易操作 只在extract运行时有效,停止后不会再缓存,此时所需归档日志最少为 8个小时加上停机 时间,一般为了保险起见建议确保重启时要保留有12个小时加上停机时间的归档日志。3)执行GGSCIstop er *停止所有源进程,或者分别对各个进程执行stop 进程名单独停止。4)以oracle 用户登录目标系统,进入安装目录/oraclelogl/goldengate,执行./ggsci 进入命令行。5)在目标系统执行stop er * 停止

12、复制6)在两端进程都已停止的情况下,如需要可通过stop mgr停止各系统内的管理进程。类似的,stop命令具有跟start命令一样的用法。这里不再赘述。注意,如果是只修改抽取或者复制进程参数,则不需要停止MGR不要轻易停止 MGF进程,并且慎重使用通配符er *,以免对其他复制进程造成不利影响。1.4 查看整体运行情况进入到GoldenGate安装目录,运行GGSCJ然后使用info all命令查看整体运行情况。如下图示:GGSCI <trui-cn> 10> info allProgrramStatusGroupLagIime Since ChkptMANAGEBRUNN

13、INGEXTBflCTSTOPPEDDDR圮0:00:001241018EXTfiACTSTOPPEDEDR82:20:41EXTRACTSTOPPEDESBQ00:00:00993:06:01EXTRACTSTOPPEDSEQEX90:00:08EXTBACTSTOPPEDSFC00:00:00?67:20:05REPLICATABENDEDPPBC23:47:11944:07:49REPLICATSTOPPEDREPRC967:19;19EPLICAISTOPPEDSEQHEP00:00:00?37:53:43Group表示进程的名称(MGRS程不显示名字);Lag表示进程的延时;Stat

14、us表示进程的状态。有四种状态:STARTING:表示正在启动过程中RUNNING表示进程正常运行STOPPED表示进程被正常关闭ABENDED表示进程非正常关闭,需要进一步调查原因正常情况下,所有进程的状态应该为RUNNING且Lag应该在一个合理的范围内。1.5 查看参数设置使用view params 进程名 可以查看进程的参数设置。该命令同样支持通配符GGSCI (t25> view parains mgrrPORT ?8ft9GGSCI <t26> view pareknns e&rc extract espcuserid gigX&* passwor

15、d 99exttrail D: OracleSof t ®igfXdirdat Xsf tsble as-*;1.6 查看进程状态使用info 进程名称 命令可以查看进程信息。可以查看到的信息包括进程状态、checkpoi nt 信息、延时等。如:CGSC1 Ctrui-cn> 36> info edi4IXTRAGT EDRCheckpoint L承曹 Log Read CheckpointLast Gtartisd 20100427 11 #29 Status STOPPED (Ex pda ted"13 asro >Orsacle Redo Lo$(

16、s2010-04-27 13:24:4? Seqno 35, RBA 28972544还可以使用info 进程名称 detail命令查看更详细的信息。包括所使用的trail文件,参数文件、报告文件、警告日志的位置等。如:GGSCI <trul-cn>37>info edr detailEKTRACT CheckpointEDRLagLast Started 2010-04-27 11:29Status STOPPEDI。朗 Re" Che ckpo in t0B:08:80 (updated 60:26:15Oracle Redo Logs2010-04-27 13

17、:24:47 Segno阳035, RBA 28972544Target ExtFact Trails-Remote Trail NaneD: %X>rac leSof tgsMirdat XdrSegnoRBA2275668Max MB10Esc上M&ut: SnumeBBginEndD: ORfiCLES OFT XDB PRODUCT MB.2.0 XORO DR Tfi XjORCL XRED06 LOG 2010-04-23 14:39 -04-27 13:242B10Cmrpent directoryReport f He Faraneter flieCheckpoi

18、nt fileProcess flieError logD: Orac leSoft 5朗号D: Drac IcSdf t ggfs dirrptXEDE rpt D: Orac leSof tgsrsXdirpsrmXEDR. ppn D: Wrac leSof t g9sdirchJc<EDH.cpe D: OracleSof t SgrgsAirpcsEDR.pee D: sOracleSof t grgrs5(serF, log使用info 进程名称 showch命令可以查看到详细的关于checkpoint的信息,用于查看 GoldenGate进程处理过的事务记录。其中比较重要的

19、是extract 进程的recoverycheckpoint,它表示源数据中最早的未被处理的事务;通过 recovery checkpoint 可以查看 到该事务的redo log 位于哪个日志文件以及该日志文件的序列号。所有序列号比它大的日 志文件,均需要保留。info edr showchEXTRACT EDRCheckpoint LagLog Read CheckpeiiintLast Started 2010-04-27 11:29 Status STOPPED 00:00: 00 (updated: 30:29 asfQ>le Re do La gfs2010-04-27 13

20、:24:4? Seqno 35, RBA 28972544Cmkrent Checkpoint Detail:Read CheckpoInt ttlOracle Redo LogStartup Checkpoint Cstarting posit ion in the data ourcel:Sequence tt: 30RB商三 46833794Tinestamp: 2010-04-23 14:39:5S.000000Redo File : D: ORACLESOFTDBPBOUCTM0.2 H0ORADfiTfiORCLREDO03 .LOGRecouery Checkpo int <

21、; posit ion of o ldest unprcjcessed transaction in the data so urce >:SequeOiCe tts 35RBA: 28970800T tries tamp: 2010-04-27 13 : 24 : 47,000000Redo Files D:ORA C LES OFT xDBPRO DU CT xl0.2.0ORfi DAT AORCL xREDOt.LOGCurrent Checkpoint <posit ion of last icord read, in the dl扇ta source > :Seq

22、ueoice tt- 35RBA: 28972544Timestainp; 2010-04-27 13:24:47,000000Redo File: D: ORA C LES OFT xDB XPRO DU CT XI0.2.0ORfi DfiT A xjORCLxREDOfc . LOGWrite Checkpoint ttl1.7 查看延时GGSCI lag 进程名称 可以查看详细的延时信息。如:GGSCI <trui-cn> 45> 1衣理 edrSending GETLAG request to EXTRACT EDR .Last record t 2 seconds

23、fit EOF, ha more Records to process-此命令比用info命令查看到的延时信息更加精确。注意,此命令只能够查看到最后一条处理过的记录的延时信息。此命令支持通配符*。1.8 查看统计信息GGSCI> stats < 进程名称 >,< 时间频度 >,table <owner name>.<table name可以查看进程处理的记录数。该报告会详细的列出处理的类型和记录数。如:GGSCI Ct> 54> stats edl*, tot&Ilending STATS request to EKTRACt

24、 EDR Start of Statistics at 2010-04-27 14:27:23.Ckit put; to D: XOi'-acleSofivdatExtt-actin From GG.TCUSTMER to GG.TCUSIHER:»* Total statictics since 2B1M-04-2?*Totalinserts2.H&Totalupdates0.00TotaldeletesB.R0Tat«lopcrat ions2.00find, of Statistics.GGSCI> stats edr, total列出自进程启动

25、以来处理的所有记录数。GGSCI> stats edr, daily, table gg.test列出当天以来处理的有关 gg.test 表的所有记录数。1.9 查看运行报告GGSCI> view report < 进程名称 > 可以查看运行报告。如:GGSCI <trui-cn> 48> view report 占成沪le GoldenCate Capture f or Oa*ac leVersion ? Build S02Uindous <oMimized)> Oracle 10 on: Sei> 18 208?

26、1683 = 10CEjpyrigJBt <C) 1995, 2009,- Oracle and/or its af f ILiates. All rights reservedStarting at 2Bl0-04-2?WMHItMIrfliXfBCIgriiaiMfcCKiMKMbfMUKttWMXiCMilgrMIXKHilifW MfcCWWXWKKWK WWKMiirMlWMmiriMKMfcffK MBftC WKKKOpeUeion:Microsoft Mindows XP ProfeEsional an kSGUersion 5-1 <Duild 2G00 Serv

27、ice Pack 3>也可以进入到 <GoldenGate安装目录>/dirrpt/目录下,查看对应的报告文件。最新的 报告总是以 <进程名称>.rpt命名的。加后缀数字的报告是历史报告,数字越大对应的时间越久。如下图示:EDRCLrpt i£|EDRlxpt jjEDR2.rpt 出 EDFarpt _1)EDR4.中 t EDR.rpt通过查如果进程运行时有错误, 则报告文件中会包括错误代码和详细的错误诊断信息。找错误代码,可以帮助定位错误原因,解决问题。2 OGG勺常见运维任务指南2.1配置自动删除队列1) 进入安装目录执行./ggsci ;2)

28、执行edit param mgr 编辑管理进程参数,加入或修改以下行purgeoidextracts /<goldengate 安装目录 >/dirdat/*, usecheckpoint, min keepdays 7其中,第一个参数为队列位置,*可匹配备份中心所有队列文件;第二个参数表示是首先要保证满足检查点需要,不能删除未处理队列; 第三个参数表示最小保留多少天,后面的数字为天数。例如,如果希望只保留队列/ggs/dirdat/xm 文件3天,可以配置如下:purgeoidextracts /ggs/dirdat/xm, usecheckpo int, min keepday

29、s 33) 停止MGR进程,修改好参数后重启该进程GGSCI > stop mgr输入y确认停止GGSCI > start mgr注:临时停止mgr进程并不影响数据复制。2.2配置启动 MGF时自动启动 Extract和Replicat 进程1) 进入安装目录执行./ggsci ;2) 执行edit param mgr 编辑管理进程参数,加入以下行AUTOSTART ER *3) 停止MGR进程,修改好参数后重启该进程GGSCI > stop mgrGGSCI > start mgr注意:一般建议不用自动启动,而是手工启动,便于观察状态验证启动是否成功, 同时也便于手工

30、修改参数。2.3 配置MGR自动重新启动 Extract 和Replicat 进程GoldenGate具有自动重起extract或者replicat 进程的功能,能够自动恢复如网络中 断、数据库临时挂起等引起的错误,在系统恢复后自动重起相关进程,无需人工介入。1) 进入安装目录执行 ggsci进入命令行界面;2) 执行edit param mgr 编辑管理进程参数,加入以下行AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 60以上参数表示每5分钟尝试重新启动所有进程,共尝试三次。以后每60分钟清零,再按照每5分钟尝试一次共试 3

31、次。3) 停止MGF进程,修改好参数后重启该进程,使修改后的参数文件生效GGSCI > stop mgrGGSCI > start mgr2.4长事务管理在停止抽取进程前需要通过命令检查是否存在长交易,以防止下次启动无法找到归档日志:ggsci> info extXX, showchRead Checkpoi nt #1Recovery Checkpo in t (positi on of oldest un processed tran sact ion in the datasource):Thread #: 1Sequenee #:9671RBA: 239077904T

32、imestamp:2008-05-20 11:39:07.000000SCN: 2195.1048654191Redo File: Not availableCurrent Checkpoint (position of last record read in the data source):Thread #: 1 Sequence #: 9671RBA: 239377476Timestamp: 2008-05-20 11:39:10.000000SCN: 2195.1048654339Redo File: Not AvailableRead Checkpoint #2Recovery Ch

33、eckpoint (position of oldest unprocessed transaction in the data source):Thread #: 2Sequence #: 5287RBA: 131154160Timestamp: 2008-05-20 11:37:42.000000SCN: 2195.1048640151Redo File: /dev/rredo07Current Checkpoint (position of last record read in the data source):Thread #: 2 Sequence #: 5287RBA: 1385

34、94492Timestamp: 2008-05-20 11:39:14.000000SCN: 2195.1048654739Redo File: /dev/rredo07为了方便长交易的管理, GoldenGate 提供了一些命令来查看这些长交易,可以帮助客 户和应用开发商查找到对应长交易,并在 GoldenGate 中予以提交或者回滚。( 一 )查看长交易的方法Ggsci> send extract < 进程名 > , showtrans thread n count n其中, <进程名 >为所要察看的进程名,如 extsz/extxm/extjx 等;Thre

35、ad n 是可选的,表示只查看其中一个节点上的未提交交易;Count n 也是可选的,表示只显示 n 条记录。例如 , 查看 extsz 进程中节点 1 上最长的10 个交易,可以通过下列命令:Ggsci> send extract extsz , showtrans thread 1 count 10输出结果是以时间降序排列的所有未提交交易列表,通过 xid 可以查找到对应的事务, 请应用开发商和 DBA 帮助可以查找出未提交原因,通过数据库予以提交或者回滚后 GoldenGate 的 checkpoint 会自动向前滚动。( 二 ) 使用 GoldenGate 命令跳过或接受长交易的

36、方法在 GoldenGate 中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数) :Ggsci> SEND EXTRACT进程名 >,SKIPTRANS <5.17.27634> THREAD <2> / 跳过交易Ggsci>SEND EXTRACT进程名 >,FORCETRANS <5.17.27634> THREAD <1> 强制认为该 交易已经提交说明:使用这些命令只会让 GoldenGate 进程跳过或者认为该交易已经提交,但并不改 变数据库中的交易, 他们依旧存在于数据库中。 因此, 强烈

37、建议使用数据库中提交或者 回滚交易而不是使用 GoldenGate 处理。( 三 ) 配置长交易告警可以在 extract 进程中配置长交易告警,参数如下所示:extract extszwarnlongtrans 12h, checkintervals 10mexttrail /backup/goldengate/dirdat/sz以上表示 GoldenGate 会每隔 10 分钟检查一下长交易,如果有超过 12 个小时的长交易, GoldenGate 会在根目录下的 ggserr.log 里面加入一条告警信息。 可以通过察看 ggserr.log 或者在 ggsci 中执行 view ggs

38、evt 命令查看这些告警信息。 以上配置可以有助于及时发现长 交易并予以处理。说明:在OGG 11g中,extract 提供了 BR参数可以设置每隔一段时间(默认 4小时) 将长交易缓存到本地硬盘 (默认 dirtmp 目录下),因此 extract 只要不停止一般需要的归档 日志不超过 8 个小时(极限情况) 。但是如果 extract 停掉后,便无法再自动缓存长交易, 需要的归档日志就会依赖于停机时间变长。2.5表的重新再同步(需时间窗口)如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,可以参照以下步 骤。1)确认需要修改的表无数据变化(如果有条件建议停止应用系统并锁定除去s

39、ys和goldengate以外的其它所有用户防止升级期间数据变化,或者锁定所要再同步的表);2)重启dpe进程(为了能够对统计信息清零);3)停止目标端的rep进程;注意:步骤4-6为将源端数据通过 exp/imp导入到目标端,客户也可以选择其它初始化方式,比如在目标端为源端表建立dblink,然后通过 create table as select from的方式初始化目标端表。4)在源端使用exp导出该表或者几张表数据。例如:exp golde ngate/XXXX file=nan hai.dmp tables=ctais2.SB_ZSXX gran ts=y5)通过ftp传输到目标端;6

40、)在目标端,使用imp导入数据;nohup imp goldengate/XXXXX file=nanhai.dmpfromuser=ctais2 touser=ctais2ignore=y &7)如果这些表有外键,在目标端检查这些外键并禁止它们(记得维护dirsql下的禁止和启用外键的脚本 SQL ;8)启动目标端的rep进程;9)使用stats mydpe命令观察data pump的统计信息,观察里面是否包含了本次重新同步表的数据变化,如确认该时段内这些表无数据变化,则重新初始化成功;否则中间可能产生重复数据,目标replicat会报错,将错误处理机制设置为reperrordefa

41、ult,discard ,等待replicat 跟上后对discard 中的记录进行再次验证,如果 全部一致则重新初始化也算成功完成,当然也可以另择时段对这些表重新执行初始化。2.6表的重新再同步(无需时间窗口)如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,但实际业务始终(因较为复杂,使用需谨慎!)24小时可用,不能提供时间窗口,则可以参照以下步骤。1) 确认 ext/dpe/rep 进程均无较大延迟,否则等待追平再执行操作;2) 停止目标端的 rep 进程;注意 :步骤 3-5 为将源端数据通过 exp/imp 导入到目标端, 客户也可以选择其它初始化方式, 比如 expdp

42、/impdp 。3) 在源端获得当前的 scn 号。例如:select dbms_flashback.get_system_change_number from dual;以下以获得的 scn 号为 1176681 为例4) 在源端使用 exp 导出所需重新初始化的表或者几张表数据, 并且指定到刚才记下的 scn 号。例如:grants=n statistics=noneexp <username>/<password> tables=ctais2.SB_ZSXX triggers=n compress=n FLASHBACK_SCN= 11766815) 通过 ftp

43、 传输到目标端;6) 在目标端,使用 imp 导入数据;nohup imp goldengate/XXXXX file=nanhai.dmpfromuser=ctais2touser=ctais2ignore=y &7) 如果这些表有外键,在目标端检查这些外键并禁止它们(记得维护 dirsql 下的禁止和启用外键的脚本 SQL);8) 编辑目标端对应的rep参数文件,在其map里面加入一个过滤条件,只对这些重新初始化的表 应用指定 scn 号之后的记录(一定要注意不要修改本次初始化之外的其 它表,会造成数据丢失! ):map source.mytab, target target.my

44、tab, filter ( GETENV("TRANSACTION", "CSN") > 1176681 ) ;9) 确认参数无误后,启动目标端的 rep 进程;10) 使用 info repxx 或者 lag repxx 直到该进程追上,停止该进程去掉 filter 即可进 入正常复制。3数据结构变更和应用升级3.1 (仅复制DML寸)源端和目标端数据库增减复制表(一)增加复制表在GoldenGate的进程参数中,如果通过*来匹配所有表,因此只要符合*所匹配的条件, 那么只要在源端建立了表之后GoldenGate就能自动复制,无需修改配置文件,但

45、是需要为新增的表添加附加日志。步骤如下:GGSCI > dblogin userid goldengate, password XXXXXXXGGSCI > info tran data <schema>.<table n ame>如果不是enable则需要手动加入:GGSCI > add tran data <schema>.<table n ame>注:(仅对Oracle 9i )如果该表有主键或者该表不超过32列,则显示enabled表示添加成功;如果无主键并且列超过32列,则可能出现错误显示无法添加则需要手工处理,此时请

46、根据附录二中方法手工处理。如果没有使用统配符,则需要在主Extract、Data Pump里面最后的table列表里加入新的复制表;在目标端replicat 的map列表同样也加入该表的映射。然后,新增表请首先在目标端建立表结构。如果有外键和trigger ,需要在目标表临时禁止该外键和trigger ,并维护在dirsql下的禁止和启用这些对象的对应脚本文件。对于修改了文件的所有源和目标进程,均需重启进程使新的参数生效。(二)减少复制表GoldenGate 缺省复制所有符合通配符条件的表,如果有的表不再需要,可以在源端 drop 掉,然后到目标 drop 掉,无需对复制做任何修改。如果其中几

47、个表依然存在, 只是无需 GoldenGate 复制, 则可以通过以下步骤排除:1) 在源端系统上首先验证所需归档日志存在后通过stop extXX 停止对应的 extXX 进程;2) 在目标端系统上 ggsci 中执行 stop repXX 停止目标端的复制进程;3) 在源端修改 ext 进程的参数文件排除所不复制的表 :Ggsci> edit param extXX tableexclude ctais2.TMP_*;tableexclude ctais2.BAK_*;tableexclude ctais2.MLOG$_*;tableexclude ctais2.RUPD$_*;ta

48、bleexclude ctais2.KJ_*;tableexclude myschema.mytable;table ctais2.*;在文件定义 table 的行前面加入一行“ table exclude <schema>.<tablename> ” 注 意写全 schema 和表的名称。注 :如果是没有使用通配符,则直接注释掉该表所在的table 行即可。4) 在目标端修改 rep 进程参数,同样排除该表 :GGSCI>edit param repXX在 map 前面加入一行:-mapexclude CTAIS2.SHOULIXINXImapexclude m

49、yschema.mytableMAP ctais2.* ,TARGET ctais2.*;注:如果是没有使用通配符,则直接注释掉该表所在的map行即可。5)在目标端系统上启动复制进程repXXGGSCI > start repXX6)在源端系统上启动源端的抓取进程extXXGGSCI > start extXX即可进入正常复制状态。3.2 (仅复制DML寸)修改表结构当数据库需要复制的表结构有所改变,如增加列,改变某些列的属性如长度等表结构改变后,可以按照下列步骤执行:1)按照本文前面所述操作顺序停止源和目标端各抽取及投递进程(注意停源端抽取要验证一下归档日志是否存在防止无法重起)

50、,无需停止manager进程;2)修改目标表结构;3)修改源表结构;4)如果表有主键,并且本次修改未修改主键,则可以直接启动源和目标所有进程继续 复制,完成本次修改;否则,如果表无主键或者本次修改了主键则需继续执行下列 步骤;ggsci> dblog in userid golde ngate, password XXXXXXggsci> delete tran data schema.mytableggsci> add tran data schema.mytable(仅对Oracle 9i )如果表超过了 32列则上述操作可能会报错,此时需要手工进行处理,请参考附录二如何

51、手动为表删除和增加附加日志。5)重新启动源端和目标端的抓取和复制进程。3.3 (仅复制DML时)客户应用的升级如果是客户的应用进行了升级,导致了源系统表的变化,在不配置DDL复制到情况下,需要对GoldenGate同步进程进行修改,可以参照以下步骤。1)停止源和目标端各抽取及投递进程(注意停源端抽取要验证一下归档日志是否存在防止无法重起),无需停止manager进程;2)对源系统进行升级;3)在目标端将客户升级应用所创立的存储过程、表、function 等操作再重新构建一遍。对业务表的增删改等DML操作不必在目标端再执行,它们会被0G(复制过去;4)在目标端手工禁止建立的 trigger和外键

52、,并将这些sql以及反向维护的(即重新 启用trigger 和外键)SQL添加到目标端OGG dirsql目录下对应的脚本文件里; 注意:在安装实施时,应当将执行的禁止trigger和外键的表放到目标 dirsql下, 文件名建议为 disableTrigger.sql 和disableFK.sql 。同时,需要准备一个反向 维护(即重新启用 trigger 和外键,建议为 enableTrigger.sql 和enableFK.sql ) SQL同样放置到目标端 OGG勺dirsql目录下,以备将来接管应用时重新启用。5)对于升级过程中在源端增加的表,需要为新增的表添加附加日志。步骤如下:G

53、GSCI > dblogin userid goldengate, password XXXXXXXGGSCI > info tran data <schema>.<table n ame>如果不是enable则需要手动加入:GGSCI > add tran data <schema>.<table n ame>注:(仅对Oracle 9i )如果该表有主键或者该表不超过32列,则显示enabled表示添加成功;如果无主键并且列超过32列,则可能出现错误显示无法添加则需要手工处理,此时请根据附录二中方法手工处理。6)对于升级过程

54、中在源端 drop掉的表,GoldenGate缺省复制所有符合通配符条件的表,可以直接在目标端 drop掉,无需对复制做任何修改;7)如果升级过程中修改了主键的表则需继续执行下列步骤;ggsci> dblog in userid golde ngate, password XXXXXXggsci> delete tran data schema.mytableggsci> add tran data schema.mytable(仅对Oracle 9i )如果表超过了 32列则上述操作可能会报错,此时需要手工进行处理,请参考附录二如何手动为表删除和增加附加日志。8)重新启动源

55、端和目标端的抓取和复制进程。3.4配置DDL复制自动同步数据结构变更(一)是否打开DDL复制对于OGG勺DDL复制具体限制请参考附录 (七)。鉴于这些限制,另外一个重要因素是 DDL 的trigger会对源库性能带来一定的影响,在国网原则上并不推荐 DDL复制。如果有特殊理由需要打开DDL复制,可以与 Oracle工程师予以协商。(二)打开DDL复制的步骤以下内容为配置 DDL复制的步骤,仅作参考,具体请参照GoldenGate的官方安装文档。(可选,但强烈建议)定期收集统计信息,提高数据字典访问速度OGG的DDL复制需要大量访问数据字典信息,通过数据库定期收集统计信息(例如,每月一次),可以

56、有效提高 OGG DDI复制的性能。以下为一个例子sqlplus /no log <<EOFconnect / as sysdbaalter sessi on en able parallel dml;CTAIS2cascade=> TRUE);SYScascade=> TRUE);exitSYSTEMascade=> TRUE);EOF建立OGGT制用户,或给现有用户赋权限:CREATE USER golde ngate IDENTIFIED BY golde ngate DEFAULT TABLESPACE ts_ogg;GRANT CONNECT TO golde ngate;GRANT RESOURCE TO golde ngate;grant dba to golde ngate;指定DDL对象所在的schema,这里直接建立在 goldengate用户下:Ggsci>EDIT PARAMS ./GLOBALSGGSCHEMA goldengate检查数据库的 recyclebin 参数是否已关

温馨提示

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

评论

0/150

提交评论