![GoldenGate最佳实战经验总结,推荐文档_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/f585022b-bdfb-4c8d-95ff-1c247caba18e/f585022b-bdfb-4c8d-95ff-1c247caba18e1.gif)
![GoldenGate最佳实战经验总结,推荐文档_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/f585022b-bdfb-4c8d-95ff-1c247caba18e/f585022b-bdfb-4c8d-95ff-1c247caba18e2.gif)
![GoldenGate最佳实战经验总结,推荐文档_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/f585022b-bdfb-4c8d-95ff-1c247caba18e/f585022b-bdfb-4c8d-95ff-1c247caba18e3.gif)
![GoldenGate最佳实战经验总结,推荐文档_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/f585022b-bdfb-4c8d-95ff-1c247caba18e/f585022b-bdfb-4c8d-95ff-1c247caba18e4.gif)
![GoldenGate最佳实战经验总结,推荐文档_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/f585022b-bdfb-4c8d-95ff-1c247caba18e/f585022b-bdfb-4c8d-95ff-1c247caba18e5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GoldenGate 最佳实战经验进程监控的依据? ggsci 命令-通过在OGG命令行中查看进程信息命令的输出结果监控进程运行状态-常用命令是info命令,如info all, info er *等-通过自定义脚本执行ggsc命令可以监控OGG运行状 态-该日志文件由Manager进程维护 -记录所有进程的启动和停止信息及其它日志信息, 按照严重级别划分为INFO/WARNING/ERROR-可以通过Director,第三方监控工具或自定义脚本监 控? 进程报告-进程报告里面包含了该进程从启动至今的运行信息 -一旦进程中止,是排除错误的首要依据OGG监控最佳实践-使用Director? 配置
2、告警邮件-监控ggserr.log出现Warning和Error信息进行邮件告警-可为每个OGG实例、进程设定不同的告警接收人OGG监控最佳实践-使用脚本? 使用脚本执行 ggsci 命令,根据结果判断运 行状态,如进程异 常可以发送告警邮件,可以将进程报告放到 邮件中作为附件? 脚本示例#!/usr/bin/ksh LD_LIBRARY_PATH=/app/oracle/10.2/db_1/libORACLE_SID=ggs ORACLE_BASE=/app/oraclePATH=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bi
3、n:/usr/bin:/home/oracle/bin:/app/oracl e/10.2/db_1/binSLEEPTIME=30 # number of seconds to sleep between iterations ALERT_EMAIL=oraclelocalhost.localdomain #Email address to receive alert message.OGG_HOME=/home/oracle/goldengate #GoldenGate installation directory.OGG监控最佳实践-使用脚本(续)while ( 1 )docd $OGG
4、_HOMEecho info all | ./ggsci |grep -E MANAGER|EXTRACT|REPLICAT gginfo.tmpwhile read Program Status Group Lag Time doif $Program = MANAGER -a $Status = STOPPED ; then mail -s GoldenGate MANAGER STOPPED. $ALERT_EMAIL $OGG_HOME/dirrpt/MGR.rptexit else if $Status = ABENDED -o $Status = STOPPED ; then ma
5、il -s GoldenGate $Program $Group $Status. $ALERT_EMAIL $OGG_HOME/dirrpt/$Group.rpt fi fidone gginfo.tmp rm gginfo.tmp sleep $SLEEPTIME doneexit 0 提示:本例使用 mail 命令发送有邮件,请联系系统管理员确认或修 改发送邮件方法? REPORT-REPORT AT 14:00-REPORT ON FRIDAY AT 23:00? REPORTCOUNT-REPORTCOUNT EVERY 1000000 RECORDS -REPORTCOUNT EV
6、ERY 30 MINUTES, RATE 配置 Report 收集统计信息-REPORTCOUNT EVERY 2 HOURS? REPORTROLLOVER -REPORTROLLOVER AT 01:00 配置定时删除过期队列? 用于自动删除过期队列,节省硬盘空 间? 建议配置在 Mgr 进程中,可集中管理 所有队列-在mgr参数中加入以下行purgeoldextracts /dirdat/*, usecheckpoint, minkeepdays 7其中,第一个参数为队列位置, *可匹配备份中心所有 队列文件; 第二个参数表示是首先要保证满足检查点需要,不能 删除未处理队列; 第三个参数
7、表示最小保留多少天,后面的数字为天 数。例如,如果希望只保留队列 /ggs/dirdat/xm 文件3天,可以配置如下: purgeoldextracts /ggs/dirdat/xm, usecheckpoint, minkeepdays 3-说明 ? Mgr进程参数需重启Mgr进程后生效 ?临时停止mgr进程并不影响数据复制。 配置自动定时重启进程 ? 用于自动恢复由于网络临时中断、数 据库或系统维护 等原因造成的进程终止,降低人工工 作量? 建议在 Mgr 进程配置-在mgr参数文件加入以下行AUTORESTART ER *, RETRIES 3, WAITMINUTES5, RESET
8、MINUTES 60以上参数表示每 5分钟尝试重新启动所有进程,共尝 试三次。以后每 60分钟清零,再按照每 5分钟尝试一次共试 3次。? 说明-需重启Mgr进程使参数生效-可查询ggserr.log文件查看重启尝试信息长交易的管理以防止下次启动无法 找到归档日志: ggsci info extXX, showch ? 查看长交易例如,查看extsz进程中节点1上最长的10个交易,可以 通过下列命令:Ggsci send extract extsz , showtrans thread 1 count 10? 强制跳过或接受长交易Ggsci SEND EXTRACT , SKIPTRANS T
9、HREAD / 跳过交易GgsciSEND EXTRACT , FORCETRANS THREAD / 强制认为该交易已经提交? 说明: 使用这些命令只会让 GoldenGate 进程跳过 或者认为该交易已经提交 ,但并不改变数据库中的交易,他们依旧存在于数据 库中。因此,强烈建议 使用数据库中提交或者回滚交易而不是使用 GoldenGate 处理。长交易的管理(续)? 配置长交易告警-可以在extract进程中配置长交易告警,参 数如下所示:warnlongtrans 12h, checkintervals 10m以上表示 GoldenGate 会每隔 10分钟检查一 下长交易,如果有超过1
10、2个小时的长交易, GoldenGate 会在根目 录下的 ggserr.log 里 面加入一条告警信息。通过察看 ggserr.log 或 者在ggsci中执行view ggsevt 命令查看这些告警信息,可以配 置Director或自定义脚本发送告警邮件。修改检查点 - Extract? 修改主 Extract 的读检查点-修改全部检查点Alter extract begin now|yyyy-mm-dd hh:mm:ss-修改单个检查点? Startup 检查点无需修改? Current Checkpoint 的修改ALTER EXTRACT myext , THREAD 2, EXTS
11、EQNO 1126, EXTRBA 0- RAC环境下读取日志的Extract必须针对每 一个节点单独指定thread号和日志序列号/字节进行修改? Recovery Checkpoint 的修改(内部命令)ALTER EXTRACT myext , THREAD 2, IOEXTSEQNO IOEXTRBA -同Current Checkpoint,对RAC各节点均需单独修 改举例:如果重启时确认长事务无需复制,可以将 Recovery 设置为 CurrentCheckpoint 相同或之前的特定位置,跳过某些归档日修改检查点(续一)? 修改主 Extract 的写检查点-不能强制指定Ext
12、ract写检查点的extseno和extrba -只能通过重启或者 ALTER EXTRACT myext, ETROLLOVER 让Extract 滚动到下一个队列,由于该命令不会写队列文件头尾信 息需手工修改后继进程检查点以保证其顺利读到下一个队列。? 注:如果是旧版本,只能通过 ETROLLOVER 滚动? 修改 Data Pump 的读检查点-不能通过begin now或指定时间点修改DataPump 读检查点!夕能修改Data Pump读取的队列序列号和 字节ALTER EXTRACT mydp, EXTSEQNO 26, EXTRBA 0 注:如果想要设定为从某个时间点开始,只能手
13、工通 过logdump查找队列中时间点附近的记录并指定从该记录位置开始修改检查点(续二)? 修改 Data Pump 的写检查点-同修改主Extract的写检查点,只能通过etrollover向 下滚动一个队列?修改Replicat读检查点-同修改Data Pump的读检查点,只能通过指定队列 序列号和 RBA? 修改 Replicat 写检查点-N/A, Replicat只使用一个检查点增加复制表的步骤? 停止 Extract/Data Pump/Replicat 进程-注意停止 Extract 时检查长交易和归档日志? 在源和目标建立复制表? 在源端为该表添加附加日志?修改 Extract
14、/Data Pump/Replicat 参数中复 制范围包含该表? 重启 Extract/Data Pump/Replicat 进程? 可以开始对新增表进行操作 注意:以上操作仅限于 DML 复制。如配置了DDL复制则可以自动 生成附加日志和在目标端创建表结构。 场景分析 - 添加复制表忘记附加日志 ? 场景描述-在添加复制表时,忘记了添加新增表附加 日志? 场景分析-I nsert操作可以正常复制,不受附加日志影 响-Update/Delete 因为没有主键列信息记入日 志,目标端无法生成对应 SQL? 处理方法-源库对该表添加附加日志 -重新对该表进行初始化(见后面)Q:可否修改时间点或使
15、用当前队列进行恢 复?删除复制表的步骤? 停止 Extract/Data Pump/Replicat 进程 -注意停止 Extract 时检查长交易和归档日志? 修改 Extract/Data Pump/Replicat 参数中复 制范围排除该表-如使用通配符时, Extract/Data Pump 可通过 tableexclude 排除表tableexclude ctais2.KJ_*;tableexclude ctais2.DJ_YZCWSBQC;table ctais2.*;-如使用通配符时,Replicat可通过mapexclude排除 表MAPEXCLUDE fin.TESTMAP
16、fin.*, TARGET fin.*;? 重启 Extract/Data Pump/Replicat 进程 说明:在一个复制链路的任何一个环节去掉该表即可 排除该表复制,但建议在主 Extract 进行排除,可以避免各进程做不必要的 工作;同时,在各 个进程参数均明确去掉该表可以保持前后的逻辑统一 性和易读性修改复制表结构的步骤? OGG在读取表结构定义后将其缓存在内存中,不自动进行刷新,因此凡涉及表结构变更,例如表中列的增 删改和主键(或唯一索引)的变化均需按照下列步骤执行( Q: 普通索引如何?)? 操作步骤-检查无延迟后停止源和目标端各进程(注意检验重 启时归档日志可用性)-修改目标表
17、结构;-修改源表结构;-如果表有主键(或唯一索引),并且本次修改未修改 主键,则可以直接启动 源和目标所有进程继续复制,完成本次修改;否则, 如果表无主键和唯一 索引或者本次修改了主键则需重新为该表增加附加日 志ggsci dblogin userid goldengate, passwordXXXXXXggsci delete trandata schema.mytableggsci add trandata schema.mytable-重新启动源端和目标端的抓取和复制进程。复制表的重新初始化? 监控各进程到全部没有延迟? 停止各进程,从源端导出此部分表并导入 目标端?在Replicat参
18、数中单独对该部分表加入冲突 处理:MAP dbo.tcust, TARGET dbo.tcust, HANDLECOLLISIONS;? 启动各进程直到没有延迟,去除该表的 handlecollisions 参数并重启 Replicat? 注意:如该表没有主键或唯一索引,不能 使用本方法。只能在 一个空闲时段或者锁定该表进行重新初始 化。?Q:为什么不像安装实施时那样,等待所有 交易最早开始时间小 于进程停止时间后再做重新初始化? 常用调优方法-寻找extract瓶颈 ? 使用系统工具监控 Extract 运行的 CPU/IO/Mem-CPU : top, topas , sar等TO : i
19、ostat 等-Mem :vmstat 等? 使用 TESTMAPPINGSPEED-可以使Extract只解析日志但不写队列,用于测试日 志抽取速度-如果加入该参数使Extract性能能够显著提高,则写 队列为可能瓶颈?缩小Extract包含的表范围-只保留一个数据变化较小表或者加一个测试表,观察Extract处理速度是否得到提高,如有显著提高则可能瓶颈在数据库 fetch ,可通过查询运行期间存在哪些 select 语句予以验证? Extract 的瓶颈一般在于 LCR 转换为UDF常用调优方法-extract调优方法? 进程拆分-最有效方式,可以使用多个CPU并行处理-注:每个进程可以最
20、多占用CPU个数为RAC节点数+1,即如果是 2节点RAC则每个抽取进程最高占用3个CPU内核?如果系统10出现瓶颈:-增大日志读取间隔EOFDELAY 3 / 间隔3秒,缺省为 1秒-增大内存刷新间隔FLUSHSECS 3 / 间隔为 3秒,缺省为 1秒 常用调优方法-data pump调优 ? 使用 PASSTHRU 避免与源数据库交 互? 如网络带宽较低-加入数据压缩RMTHOST,COMPRESS / 压缩在网络上传输的数 据。如果本地局域网 则无须加入压缩,因为其会增加 CPU 压力。-增大tcp缓存大小RMTHOST newyork, MGRPORT 7809,TCPBUFSIZE
21、 100000,TCPFLUSHBYTES 300000?如IO出现瓶颈-增大队列读取间隔EOFDELAY 3 / 间隔3秒,缺省为 1秒-增大内存刷新间隔FLUSHSECS 5 / 间隔为5秒,缺省为 1秒 常用调优方法-寻找Replicat瓶颈 ? 使用系统工具监控 Extract 运行的 CPU/IO/Mem-CPU : top, topas , sar等-IO: iostat 等-Mem :vmstat 等? 使用 TESTMAPPINGSPEED-可以使Replicat只解析队列但不实际写数据库,用于 测试读队列速度-如果能使Replicat性能能够显著提高,则写数据库队 为瓶颈?
22、Replicat 的瓶颈一般在于写数据库常用调优方法-replicat 调优? 表一定要指定主键或者唯一索引? 使用操作合并BATCHSQL BATCHESPERQUEUE 100,OPSPERBATCH 8000-说明:只适用于小表,对于列特别多或者字段特别 长的表反而可 能降低性能;对于少量表重复进行操作的情景例如批 处理比较有 效。可以通过对两个子参数的组合进行尝试获取最佳 性能。? 对于密集小交易使用交易合并GROUPTRANSOPS 1000? 对大交易使用交易分拆MAXTRANSOPS 10000? 使用 insertappend 加速插入速度? 拆分为多个 replicatGRO
23、UPTRANS与P8AXTRANS0PS? Grouptransops 示例三个交易,分别有 25/50/60 个记录假如 grouptransops 为 100(缺省值),则 Replicat 直 要等待到第三个交易时25 + 50 + 60 100 才后 Commit? 两参数关系算法if end of transaction OR num of operations = maxtransops thenif num of operations = grouptransops then COMMIT transaction.? 举例假设 Grouptra nsops = 100, maxtra nsops = 1 ,则上 述例子中同样要等待第三个交易后提交假设 Grouptra nsops = 1, maxtra nsops = 1 ,则每个 交易提交一次假设 Grouptra nsops = 10, maxtra nsops = 10 ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位合同签订风险防范与应对措施
- 2025年广州房地产交易合同居间操作流程
- 2025年数字视频切换台项目规划申请报告模稿
- 2025年合作经营居间投资协议书
- 2025年专业知识产权顾问合同范本
- 2025年债权转让合同协议示范
- 2025年信息技术咨询顾问服务年合同
- 2025年农村耕地流转合同样本
- 2025年住宿生权益协议
- 2025年传统村落保护搬迁安置协议
- 2024年中考二轮专题复习道德与法治主观题答题技巧(小论文)之演讲稿
- 质检工作计划书2025质检部工作计划范文
- 施工现场5S管理规范
- 《缠论的实战技法》课件
- 新版标准化机电专业管理体系解读课件
- 承包鱼塘维修施工合同范例
- 耶鲁综合抽动严重程度量表正式版
- 水利水电工程建设常见事故类型及典型事故分析(标准版)
- 《小学英语教学设计》课件全套 陈冬花 第1-10章 小学英语教学设计概述-小学英语课堂管理
- 电力线路常见故障培训
- 政府采购项目采购需求调查指引文本
评论
0/150
提交评论