• Goldengate常用命令


    1.Goldengate的起停
    启动goldengate
      a> 启动goldengate时最好先从target节点开始,然后是source节点.否则data pump进程可能会由于没有收到target端的响应而异常退出。
      b> manager进程是其他进程的管理程序,需要先启动。如果manager配置参数中设置了AUTOSTART参数,则可由manager进程自动启动其他进程。
      例如:
        log in target server:
        cd <$GG_HOME>
        ggsci
        GGSCI> start mgr
        GGSCI> start <replicat>
        
        log in source server:
        cd <$GG_HOME>
        ggsci
        GGSCI> start mgr
        GGSCI> start <extract>
        GGSCI> start <pump>
     
     关闭goldengate
       a> 关闭goldengate时最好先从source节点开始,然后是target节点.否则data pump进程可能会由于没有收到target端的响应而异常退出。 
       b> manager进程通常最后关闭,并且manager进程没有自动关闭其他进程的选项.
       例如:
        log in source server:
        cd <$GG_HOME>
        ggsci
        GGSCI> stop <pump>
        GGSCI> stop <extract>
        GGSCI> stop manager
            
        log in target server:
        cd <$GG_HOME>
        ggsci
        GGSCI> stop <replicat>
        GGSCI> stop manager
     
    2.监控goldengate复制延迟
      goldengate分为多个组件(extract,lag,replicat),所以在说延迟的时候也应该具体到是说哪个组件.作为一个复制解决方案来说,我们通常关心复制延迟,也就是消息在source数据库的生成,到被apply到target数据库的这段时间.
      a> GGSCI的lag命令可以查询复制延迟, 如: 
        GGSCI> lag <replicat>
      b> 实际应用中,我们通常采用heartbeat表的方式来监控复制延迟,其优点是不仅可以监控适时复制延迟,还可以监控历史延迟情况.
      该机制的缺点是当goldengate本身发生异常停止了,heartbeat数据也不能更新,则表中的延迟数据不能反映真实的延迟情况. 规避该问题的方式是用当前系统时间减去heartbeat表中的源消息生成时间,则可以更准确的反映此时的真实延迟.
      但若heartbeat job出现异常停止更新heartbeat表,则heartbeat表中的源消息生成时间也不再及时,计算得来的延迟数据也不准确,所以采用heartbeat监控延迟还要注意对heartbeat表本身的监控.
      
    3.监控goldengate复制错误
      默认情况下,当goldengate遇到复制错误时,goldengate是会异常终止的,处于abended状态.但在实际使用中,通常会修改这种默认设置,以让goldengate在遇到复制错误后能继续工作,避免造成过大的复制延迟.
      这种情况下一般会将错误信息写到discard文件中.要监控discard文件中有多少错误,可使用以下命令:
      GGSCI> STATS <replicat> latest,totalsonly *.*
      *** Latest statistics since 2013-08-14 07:17:33 ***
            Total inserts                               18840062.00
            Total updates                               26221878.00
            Total deletes                                6471532.00
            Total discards                                     0.00
            Total operations                            51533472.00
      这里的Total discards统计值就是出错的消息数.错误的详细信息记录在discard文件中,当然,也可能存在于某个表中,取决于你的goldengate配置中对错误信息的处理机制.
      当我们对错误信息作了处理后,比如手工fix了这些问题,我们就不希望上述检查命令再重复报告这些错误记录,这时可以运行以下命令来重置goldengate对错误信息的统计:
      GGSCI> STATS <replicat> latest,reset,totalsonly *.*
     
    4.监控goldengate消息处理量
      a> 监控goldengate自启动以来总的消息处理量,可用以下命令:
      GGSCI> STATS <replicat>,totalsonly *.*
      这里查的是replicat进程,同样,也可以查询extract和pump进程
      b> 按表来统计消息处理量,使用以下命令:
      GGSCI> STATS <replicat>
      或者制定某个表作统计:
      GGSCI> STATS <replicat>,table <schema>.<table>
      c> 实际使用中,我们通常关心一定时间单位内的处理能力,比如每秒处理多少消息。这时我们可以借助heartbeat表的统计信息来监控,heartbeat表中的RDMLDELTASTATS列记录了总的DML数,除以时间就可以得到goldengate处理能力统计数据。
      d> 除了以上方法之外,还可以设置REPORTCOUNT参数来让goldengate每隔一定时间将处理的消息统计写入goldengate report文件中,比如:
      ReportCount Every 30 Minutes, Rate
     
    5.goldengate的事务处理命令
      对于常用的复制解决方案,无论是高级复制,stream还是goldengate,大事务或者长事务都是影响复制性能的重要因素之一。goldengate中有一些事务操作命令,可以帮助我们更好的监控或者人工干预这些大/长事务。
      a> 查看extract进程当前打开的事务:
      GGSCI> send <extract>,showtrans
      b> 当我们意识到某个事务可能存在问题,我们可能希望看看该事务中的具体信息,可采用以下命令:
      GGSCI> send extract <extract name>,showtrans <XID> file <file_name> detail
      上述命令会将事务的详细信息写到文件中。
      c> 当我们看到某个事务运行了很长时间,同时认为该事务可以提交或直接忽略时,可使用以下命令:
      GGSCI> send extract <extract name>,skiptrans <xid>    --跳过某个事务
      GGSCI> send extract <extract name>,forcetrans <xid>   --强制提交某个事务
     转载:http://blog.itpub.net/27243841/viewspace-769547/
  • 相关阅读:
    Bzoj4872: [Shoi2017]分手是祝愿
    大数据应用价值研究员--数据可视化工程师
    Angular Redux
    Reactive Redux
    Testing a Redux & React web application
    [转]于Fragment和Activity之间onCreateOptionsMenu的问题
    [转]探究java IO之FileInputStream类
    深入解析FileInputStream和FileOutputStream
    [转]慎用InputStream的read()方法
    [转]Android
  • 原文地址:https://www.cnblogs.com/future2012lg/p/4412944.html
Copyright © 2020-2023  润新知