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/

Goldengate常用命令的更多相关文章

  1. 转 Goldengate常用命令

    1.Goldengate的起停 启动goldengate   a> 启动goldengate时最好先从target节点开始,然后是source节点.否则data pump进程可能会由于没有收到t ...

  2. Oracle GoldenGate常用配置端口

    1 简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数 ...

  3. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  4. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  5. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  8. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  9. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

随机推荐

  1. SQLSERVER 605 尝试在数据库 %d 中提取逻辑页 %S_PGID 失败。 该逻辑页属于分配单元 %I64d,而非 %I64d。

    今天在开发过程中写了一个存储过程发现执行的时候,时不时会提示605错误,重新执行又可能会成功. 百度了一下,很多说法是硬件的IO问题,就是存储器反馈给SQL SERVER 写入成功,但下次读取的时候S ...

  2. Zabbix的安装与部署---问题处理(php65.6.28 mysqli 报错误 处理)

    1)php65.6.28  mysqli  报错误 处理 http://www.xiaochengfu.com/index.php/index/detail/aid/92.html 2)linux下p ...

  3. [转]oracle for update和for update nowait的区别

    1概念小结:(针对以下引用区域内容) 1.1 普通select语句不加锁. 1.2 for update和for update nowait都试图将符合条件的数据加上行级锁.用于排斥其他针对这个表的写 ...

  4. Object-c-数组的使用

    一.数组: 1.数组初始化: a.NSArray *array = [[NSArray alloc] init]; b.NSArray *array = [[NSArray array]; 2.初始化 ...

  5. bzoj2537: [neerc2007]Language Recognition

    Description DFA(确定性有限状态自动机)是一个有向图,顶点称为状态,边称为转移.每个转移用一个字母标记.对于每个状态s和每个转移l,至多有一个转移从s出发且标记为l.DFA有一个初始状态 ...

  6. ARM地址映射

    转自:http://blog.csdn.net/a3163504123/article/details/10958229 重映射之后,一般原来的地址依然有效.也就是说,可能两个地址,对应一个存储单元. ...

  7. 242. Valid Anagram

    Given two strings s and t, write a function to determine if t is an anagram of s. For example,s = &q ...

  8. java-Spring-1

    1.@Autowired 自动寻找合适的类型注入,byType2.@Qualifier("userDAOImpl") 存在多个相同类型时,指定固定的一个bean,和上面1配合使用3 ...

  9. 8. redis的主从复制和sentinal

    一. redis主从复制(读写分离) redis的主从复制分为两类节点:1个master和多个slave,master进行读写操作,slav进行只读操作 启动步骤: 主节点照常启动,slave节点启动 ...

  10. C#继承的用法

    using System; namespace 继承 { public class cat { private string _name = null; private int _age = 0; p ...