OGG 运维指导手册

说明:本文为Oracle Goldengate 常用命令操作指导手册
标签:OGG常用命令、OGG操作手册、OGG运维手册、OGG维护手册
温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化

【大纲摘要】
--了解当前OGG环境信息
--进入OGG管理界面
--查看OGG进程状态
--启动/停止OGG相关进程
--更新替换defgen表结构定义文件
--启动/停止OGG-manager管理进程
--查看replicate进程报错日志
--查看replicate进程报错详情
--重置OGG进程
--查看应用情况
--查看当前正在运行的事务
--查看进程详细信息
--查看表的附加日志状态
--查看OGG文件清理状态
--查看OGG错误日志
--查看端口使用
--查看长事务运行情况
--查看进程状态详情
--查看进程的检查点情况
--强制执行检查点
--查看当前正在执行的SQL
--查看抓取进程是否抓取完所有redo
--查看Trail文件信息
--强制跳过/提交
--常见问题


【正文模块】
 


◆ 定位OGG安装目录和所属用户
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 生产环境的OGG一般是归oracle用户所属,不过建议使用单独的ogg用户。
    ※ 本文的相关环境如下
        ·操作系统:Centos 6.3
        ·OGG安装目录为:/ogg123
        ·OGG系统用户为:oggos
        ·OGG数据库用户为:ogg

✔ 命令案例如下
    [root]# ps -ef | grep ogg
    oggos …… /ogg123/extract PARAMFILE /ogg123/dirprm/ex_scott.prm REPORTFILE /ogg123/dirrpt/EX_SCOTT.rpt PROCESSID EX_SCOTT

◆ 进入OGG命令界面
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 进入ggsci命令行工具后会显示当前OGG版本等信息“Version xxxx”
    ※ 退出OGG命令界面只需要执行“exit”即可
✔ 命令案例如下

[root  ]# su - oggos        根据“定位OGG安装目录和所属用户”模块可以获知相关信息:切换到配置ogg的用户下
[oggos]$ cd /ogg123/        根据“定位OGG安装目录和所属用户”模块可以获知相关信息:进入到OGG的安装目录下
[oggos]$ ./ggsci                 在OGG的安装目录下调用ogg命令行工具
Oracle GoldenGate Command Interpreter for Oracle
Version 12.3.0.1.4 30547022_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Dec 27 2019 17:52:01
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
GGSCI > 


◆ 查看状态
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 如果状态为“running”则说明对应的ogg进程正常
    ※ 如果状态为“stoped ”则说明对应的ogg进程处于停止状态,此时可以执行“start *”来启动所有未启动的进程
    ※ 如果状态为“abended”则说明对应的ogg进程有异常,此时可以通过“view report XXX”进行查看
✔ 命令案例如下
    GGSCI> info all
            Program     Status      Group       Lag at Chkpt  Time Since Chkpt
            MANAGER     RUNNING                                           
            EXTRACT     RUNNING     EX_SCOTT    00:00:00      00:00:01    
            EXTRACT     RUNNING     PU_SCOTT    00:00:00      00:00:08


◆ 启动OGG相关进程
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 如果状态为“stoped ”则说明对应的ogg进程处于停止状态,此时可以执行“start XXX”来启动所相应未启动的进程
    ※ 如果状态为“abended”则说明对应的ogg进程有异常,此时可以通过“view report XXX”进行查看
    ※ 启动完后停留5秒,然后执行“info all”查看进程是否启动。如果进程状态status为“ABENDED”或“STOPED ”请按操作手册里相对应的模块进行处理即可
✔ 命令案例如下
    GGSCI> start xxx
    GGSCI> info all
            Program     Status      Group       Lag at Chkpt  Time Since Chkpt
            MANAGER     RUNNING                                           
            EXTRACT     RUNNING     EX_SCOTT    00:00:00      00:00:01    
            EXTRACT     RUNNING     PU_SCOTT    00:00:00      00:00:08


◆ 停止OGG相关进程
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 如果状态为“stoped ”则说明对应的ogg进程处于停止状态
    ※ 如果状态为“abended”则说明对应的ogg进程有异常,此时可以通过“view report XXX”进行查看
    ※ 停止完后停留5秒,然后执行“info all”查看进程是否成功停止。如果进程状态status依然为“RUNNING”说明当前有事务正在运行,您可以等待5分钟然后再次执行关闭操作即可。如果还是不行可以执行“view report XXX”进行排查
    ※ 注意,OGG进程停止后,MANAGER进程应该还是RUNNING状态,这个不用管,因为管理进程MANAGER必须时刻处于RUNNING状态以便进行管理和接受源端数据
✔ 命令案例如下
    GGSCI> stop xxx
    GGSCI> info all
            Program     Status      Group       Lag at Chkpt  Time Since Chkpt                                      
            MANAGER     RUNNING                                           
            EXTRACT     STOPPED     EX_SCOTT    00:00:00      00:00:13    
            EXTRACT     STOPPED     PU_SCOTT    00:00:00      00:00:12  

◆ 更新替换defgen表结构定义文件
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 用途:OGG的defgen表结构定义文件记录的是“源端”OGG抓取进程涉及到的所有表的结构信息,目标端在应用数据时会根据这个来映射两端的表结构
    ※ 特性:由于它属性限制,每次源端OGG涉及的表在进行“表结构调整”后都需要在源端重新生成相应的defgen文件并发送到目标端相关位置下
    ※ 位置:根据“定位OGG安装目录和所属用户”模块可以获知OGG安装目录信息,defgen默认存储在OGG的安装目录下的子目录dirdef中
    ※ 个数:在中,每个进程均有一个属于自己的defgen文件,命名格式一般为“def_XXX.defs”
    ※ 替换:在架构中,源端和目标端的OGG安装目录一般是一致的,所以替换起来目录一般一致。
    ※ 密码:由于defgen需要从源端传输到目标端,所以源端在scp时需要目标端提供ogg所属用户的密码
✔ 替换方法
    概述:源端生成新的defgen文件,然后通过系统的scp命令发送到目标端并替换相关的defgen即可
✔ 命令案例如下
    ※ 替换命令:
        源端执行:[oggos]$ scp /ogg123/dirdef/def_scott.defs  [email protected]:/ogg123/dirdef/def_scott.defs
    ※ 如果想确认defgen文件名称和目录,可以通过查看进程配置文件的方法进行检索
        GGSCI> view param RE_SCOTT
            ……
            sourcedefs /ogg123/dirdef/def_scott.defs
            ……
    ※ 查看OGG进程名以便view param时查看进程名称
        GGSCI> info all
                Program     Status      Group       Lag at Chkpt  Time Since Chkpt
                MANAGER     RUNNING                                           
                REPLICAT    RUNNING     RE_SCOTT    00:00:00      00:00:06  

◆ 启动OGG-manager管理进程(一般没有特殊要求,不操作管理进程)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 注意,一般情况下没有特殊要求,MANAGER进程必须处于RUNNING状态,因为管理进程MANAGER必须时刻处于RUNNING状态以便接受源端数据
    ※ 如果状态为“stoped ”则说明对应的ogg进程处于停止状态
    ※ 如果状态为“running”则说明对应的ogg进程处于运行状态
    ※ 如果状态为“abended”则说明对应的ogg进程有异常,此时可以通过“view report XXX”进行查看
✔ 命令案例如下
    GGSCI> start mgr
    GGSCI> info all
        Program     Status      Group       Lag at Chkpt  Time Since Chkpt
        MANAGER     RUNNING                                           
        ……


◆ 关闭OGG-manager管理进程(一般没有特殊要求,不操作管理进程)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 注意,一般情况下没有特殊要求,MANAGER进程必须处于RUNNING状态,因为管理进程MANAGER必须时刻处于RUNNING状态以便接受源端数据
    ※ 如果状态为“stoped ”则说明对应的ogg进程处于停止状态
    ※ 如果状态为“running”则说明对应的ogg进程处于运行状态
    ※ 如果状态为“abended”则说明对应的ogg进程有异常,此时可以通过“view report XXX”进行查看
    ※ 停止完后停留5秒,然后执行“info all”查看进程是否成功停止。如果进程状态status依然为“RUNNING”说明当前有事务正在运行,您可以等待5分钟然后再次执行关闭操作即可。如果还是不行可以执行“view report XXX”进行排查,或联系OGG技术支持人员进行排查
✔ 命令案例如下
    GGSCI> stop mgr
    GGSCI> info all
        Program     Status      Group       Lag at Chkpt  Time Since Chkpt
        MANAGER     STOPED                                           
        ……


◆ 查看replicate进程报错日志
/////////////////////////////////////////////////////
✔ 相关说明
    ※ XXX为ogg进程的名称,所有进程名称可以通过“info all”获得。
    ※ 查看报错时,主要查看报告里的"ERROR"所在的行,以及“ERROR”的上2条带“WARNING”字样的行
    ※ 该例中提示有空值插入目标库,导致ogg异常。“OCI Error ORA-01400: cannot insert NULL into ……”
✔ 命令案例如下
     GGSCI > view report RE_SCOTT
     ……
     2019-03-30 09:02:41  WARNING OGG-01154  SQL error 1400 mapping scott.emp to scott.emp 
     OCI Error ORA-01400: cannot insert NULL into ……    【该例中提示有空值插入目标库,导致ogg异常】
     ……
     2019-03-30 09:02:41  ERROR   OGG-01296  Error mapping from scott.emp to scott.emp 
     ……

◆ 查看replicate进程报错详情
/////////////////////////////////////////////////////
✔ 相关说明
    ※ XXX.desc文件记录的是:“因主键冲突而被忽略的数据”和“引起报错的数据”
    ※ XXX0.desc、XXX1.desc、XXX2.desc等带序号的文件是由XXX.desc文件切换所产生的归档文件
✔ 命令案例如下
    [root  ]# su - oggos                根据上一步操作步骤可以获知相关信息:切换到配置ogg的用户下
    [oracle]$ cd /ogg123                  根据上一步操作步骤可以获知相关信息:进入到OGG的安装目录下
    [oracle]$ cd dirrpt/                再进入到OGG的安装目录下的dirrpt子目录
    [oracle]$ cat XXX.desc              (说明:XXX为ogg进程的名称)
    案例:
    $ cd /ogg123/dirrpt/
    $ cat RE_SCOTT            一般查看最后几行记录,定位报错详情:“因主键冲突而被忽略的数据”和“引起报错的数据”

……
OCI Error ORA-00001: unique constraint (SCOTT.PK) violated (status = 1), SQL <INSERT INTO "SCOTT"."T" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7)>
Aborting transaction on /ogg123/dirdat/ps beginning at seqno 6 rba 17842
                         error at seqno 6 rba 17842
Problem replicating SCOTT.T to SCOTT.T
Mapping problem with insert record (target format)...
*
EMPNO = 7369
000000: 37 33 36 39                                     |7369            |
ENAME = SMITH
000000: 53 4d 49 54 48                                  |SMITH           |
JOB = CLERK
000000: 43 4c 45 52 4b                                  |CLERK           |
MGR = 7902
000000: 37 39 30 32                                     |7902            |
HIREDATE = 1980-12-17 00:00:00
000000: 31 39 38 30 2d 31 32 2d 31 37 20 30 30 3a 30 30 |1980-12-17 00:00|
000010: 3a 30 30                                        |:00             |
SAL = 801.00
000000: 38 30 31 2e 30 30                               |801.00          |
COMM = NULL
DEPTNO = 20
000000: 32 30                                           |20              |
*
Process Abending : 2020-04-05 12:27:39


    

◆ 重置OGG进程
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该操作属于危险操作,请在OGG管理员的指导下操作!!!
✔ 命令案例如下
    ※ 源端
        GGSCI> stop *                        重置前需要停止相关ogg进程
        GGSCI> alter ex_scott,begin now        重置相关的抓取进程,抛弃之前的检查点,从当前时间点开始
        GGSCI> alter pu_scott,begin now        重置相关的传输进程,抛弃之前的检查点,从当前时间点开始
        GGSCI> start *                        启动相关ogg进程

    ※ 目标端
        GGSCI> stop *                        重置前需要停止相关ogg进程
        GGSCI> alter re_scott,begin now        重置相关的应用进程,抛弃之前的检查点,从当前时间点开始
        GGSCI> start *                        启动相关ogg进程


◆ 查看应用情况(即某个表在一定时间内所应用的数据量)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看应用情况(即某个表在一定时间内所应用的数据量)
✔ 命令案例如下
    ※ 常用命令
        GGSCI> stats replicat *
        GGSCI> stats extract *
        GGSCI> stats replicat re_scott total        Displays totals since process startup. 
        GGSCI> stats replicat re_scott lastest        Displays totals since the last RESET command.
        GGSCI> stats replicat re_scott daily        Displays totals since the start of the current day. 
        GGSCI> stats replicat re_scott hourly        Displays totals since the start of the current hour. 
        GGSCI> stats replicat re_scott resets        Resets the counters in the LATEST statistical field. 
    ※ 案例详情
        GGSCI> stats re_scott table scott.emp latest

案例:
GGSCI > stats re_scott table scott.emp latest
Sending STATS request to REPLICAT RE_SCOTT ...
Start of Statistics at 2019-04-14 12:08:30.
DDL replication statistics:
*** Total statistics since replicat started     ***
    Operations                                  11.00
    Mapped operations                            0.00
    Unmapped operations                        6.00
    Other operations                            5.00
    Excluded operations                       11.00
    Errors                                       0.00
    Retried errors                               0.00
    Discarded errors                             0.00
    Ignored errors                               0.00

Replicating from SCOTT.EMP to SCOTT.EMP:
*** Latest statistics since 2018-09-10 19:57:07 ***
    Total inserts                                  0.00
    Total updates                                 14.00
    Total deletes                                  0.00
    Total discards                                 0.00
    Total operations                              14.00

End of Statistics.

◆ 查看当前正在运行的事务(方法1)(推荐)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该方法虽然没有方法2简单,但是比较直观
    ※ 查看事务运行情况前建议在OGG的ggsci中连接上Oracle数据库
    ※ 查看lag命令结果部分,如果为“0 records in current transaction”则表示目前该进程没有事务运行
    ※ 查看复制是在延迟(等待数据处理),正在处理数据还是在跟踪结尾(EOF)。
✔ 命令案例如下

※ 登陆数据库
    GGSCI > dblogin userid ogg,password ogg
    Successfully logged into database.
※ 查看事务情况(有事务的状态)
    GGSCI > send re_scott,status
    Sending STATUS request to REPLICAT RE_SCOTT ...
      Current status: Processing data        (该状态代表正在处理数据中)
      Sequence #: 0
      RBA: 68953907
      10975 records in current transaction
※ 查看事务情况(没有事务的状态)
    GGSCI > send re_scott,status
    Sending STATUS request to REPLICAT RE_SCOTT ...
      Current status: At EOF                (该状态代表所有数据处理完成,此时指针位于trail文件的EOF结尾处)
      Sequence #: 0
      RBA: 70062399
      0 records in current transaction        (该状态代表当前没有记录正在被处理)

◆ 查看当前正在运行的事务(方法2)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该方法虽然简单,但是没有方法1直观
    ※ 查看事务运行情况前建议在OGG的ggsci中连接上Oracle数据库
    ※ 查看lag命令结果部分,如果为“At EOF, no more records to process.”则表示目前该进程没有事务运行
✔ 命令案例如下

※ 登陆数据库
    GGSCI > dblogin userid ogg,password ogg
    Successfully logged into database.
※ 查看事务情况(有事务的状态)
    GGSCI > lag re_scott        (或者:send re_scott getlag)
    Sending GETLAG request to REPLICAT RE_SCOTT ...
    Last record lag 12 seconds.            (此处的12代表上一次事务运行结束已经过去了12秒)
※ 查看事务情况(没有事务的状态)
    GGSCI > lag re_scott            (或者:send re_scott getlag)
    Sending GETLAG request to REPLICAT RE_SCOTT ...
    Last record lag 27 seconds.
    At EOF, no more records to process.    (此处的“At EOF”代表目前指针位于trail文件尾部,即:目前没有事务正在运行)


◆ 查看进程详细信息
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看事务运行情况前建议在OGG的ggsci中连接上Oracle数据库,因为CSN值需要从数据库获取。如果不登陆数据库也没有太大影响
    ※ 
✔ 命令案例如下
    ※ 登陆数据库
        GGSCI > dblogin userid ogg,password ogg
        Successfully logged into database.    

    ※ 查看进程详情(extract进程)

GGSCI > info ex_scott,detail

EXTRACT    EX_SCOTT  Last Started 2018-09-10 19:46   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:05 ago)
Process ID           7679
Log Read Checkpoint  Oracle Redo Logs
                     2019-10-07 15:09:37  Seqno 7, RBA 18874368
                     SCN 0.1186699 (1186699)
  Target Extract Trails:
  Trail Name                                       Seqno        RBA     Max MB Trail Type
  /ogg123/dirdat/es                                       0   23283615        200 EXTTRAIL  
  Extract Source                          Begin             End             
  /u01/oracle/oradata/orcl/redo01.log     2018-09-10 19:42  2019-10-07 15:09
  Not Available                           * Initialized *   2018-09-10 19:42
  Not Available                           * Initialized *   2018-09-10 19:42
  Not Available                           * Initialized *   2018-09-10 19:42
Current directory    /ogg123
Report file          /ogg123/dirrpt/EX_SCOTT.rpt
Parameter file       /ogg123/dirprm/ex_scott.prm
Checkpoint file      /ogg123/dirchk/EX_SCOTT.cpe
Process file         /ogg123/dirpcs/EX_SCOTT.pce
Error log            /ogg123/ggserr.log


    ※ 查看进程详情(pump进程)

GGSCI > info pu_scott,detail

EXTRACT    PU_SCOTT  Last Started 2018-09-10 19:49   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Process ID           7730
Log Read Checkpoint  File /ogg123/dirdat/es000000000
                     2019-10-07 15:05:27.000000  RBA 23283615
  Target Extract Trails:
  Trail Name                                       Seqno        RBA     Max MB Trail Type
  /ogg123/dirdat/ps                                       0   23283646        200 RMTTRAIL  
  Extract Source                          Begin             End             
  /ogg123/dirdat/es000000000                 * Initialized *   2019-10-07 15:05
  /ogg123/dirdat/es000000000                 * Initialized *   First Record    
  /ogg123/dirdat/es000000000                 * Initialized *   First Record    
Current directory    /ogg123
Report file          /ogg123/dirrpt/PU_SCOTT.rpt
Parameter file       /ogg123/dirprm/pu_scott.prm
Checkpoint file      /ogg123/dirchk/PU_SCOTT.cpe
Process file         /ogg123/dirpcs/PU_SCOTT.pce
Error log            /ogg123/ggserr.log

    ※ 查看进程详情(replicate进程)

GGSCI > info re_scott,detail

REPLICAT   RE_SCOTT  Last Started 2019-10-07 13:06   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:05 ago)
Process ID           10190
Log Read Checkpoint  File /ogg123/dirdat/ps000000000
                     2019-10-07 15:05:27.000673  RBA 23283646
Current Log BSN value: (no data)
Last Committed Transaction CSN value: 1186613
  Extract Source                          Begin             End             
  /ogg123/dirdat/ps000000000                 2018-09-10 20:08  2019-10-07 15:05
  /ogg123/dirdat/ps000000000                 * Initialized *   2018-09-10 20:08
  /ogg123/dirdat/ps000000000                 * Initialized *   First Record    
Current directory    /ogg123
Report file          /ogg123/dirrpt/RE_SCOTT.rpt
Parameter file       /ogg123/dirprm/re_scott.prm
Checkpoint file      /ogg123/dirchk/RE_SCOTT.cpr
Checkpoint table     ogg.checkpoint
Process file         /ogg123/dirpcs/RE_SCOTT.pcr
Error log            /ogg123/ggserr.log


◆ 查看表的附加日志状态
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该方法可以用来查看某个表是否添加了附加日志
✔ 命令案例如下
GGSCI> dblogin userid ogg,password ogg
    Successfully logged into database.

GGSCI> info trandata scott.emp        ——末尾不能加“;”,否则OGG认为这是表名的一部分
    Logging of supplemental redo log data is enabled for table SCOTT.EMP.
    Columns supplementally logged for table SCOTT.EMP: EMPNO.
    Prepared CSN for table SCOTT.EMP: 1178389

GGSCI> info trandata scott.emp;
    ERROR: No viable tables matched specification.
◆ 查看OGG文件清理状态
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该方法可以用来查看OGG文件清理状态
✔ 命令案例如下

GGSCI > send mgr,getpurgeoldextracts

Sending GETPURGEOLDEXTRACTS request to MANAGER ...

PurgeOldExtracts Rules
Fileset                              MinHours MaxHours MinFiles MaxFiles UseCP
/ogg123/dirdat/*                    168        0        1        0        Y
OK    
Extract Trails
Filename                        Oldest_Chkpt_Seqno  IsTable  IsVamTwoPhaseCommit
/ogg123/dirdat/pa        0
/ogg123/dirdat/ps        0

◆ 查看OGG错误日志
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 该日志相当于Oracle的alert,记录的是OGG整体的重要操作和严重错误
✔ 命令案例如下
    [root  ]# su - oggos                根据上一步操作步骤可以获知相关信息:切换到配置ogg的用户下
    [oggos]$ cd  /ogg123        根据上一步操作步骤可以获知相关信息:进入到OGG的安装目录下
    [oggos]$ cat ./ggserr.log            
    案例:

※ 一般查看最后几行记录,定位ERROR类型的报错即可
……
2020-04-05T12:27:39.552+0800  WARNING OGG-01004  Oracle GoldenGate Delivery for Oracle, re_scott.prm:  Aborted grouped transaction on SCOTT.T, Database error 1 (OCI Error ORA-00001: unique constraint (SCOTT.PK) violated (status = 1), SQL <INSERT INTO "SCOTT"."T" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7)>).
2020-04-05T12:27:39.587+0800  WARNING OGG-01003  Oracle GoldenGate Delivery for Oracle, re_scott.prm:  Repositioning to rba 17842 in seqno 6.
2020-04-05T12:27:39.589+0800  WARNING OGG-01154  Oracle GoldenGate Delivery for Oracle, re_scott.prm:  SQL error 1 mapping SCOTT.T to SCOTT.T OCI Error ORA-00001: unique constraint (SCOTT.PK) violated (status = 1), SQL <INSERT INTO "SCOTT"."T" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7)>.
2020-04-05T12:27:39.591+0800  ERROR   OGG-01296  Oracle GoldenGate Delivery for Oracle, re_scott.prm:  Error mapping from SCOTT.T to SCOTT.T.
2020-04-05T12:27:39.592+0800  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, re_scott.prm:  PROCESS ABENDING.
……


◆  查看端口使用
/////////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看OGG当前使用的端口号
✔ 命令案例如下
    ※ GGSCI > send mgr childstatus debug
    案例:
            ID      Group   Process         Retry     Retry     Time              Start Time            Port
            ----     --------     ---------             -----     ------------------- ------------------- ----
            0       EREGAB     19864     0     None       2013/12/13             22:03:15         7840


◆ 查看长事务运行情况(一般用来查看长事务)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看长事务运行情况(一般用来查看长事务)
✔ 命令案例如下
    ※ GGSCI >  send extract ex_scott , showtrans [thread 1 count 10]    
    案例:
            GGSCI > send extract ex_scott , showtrans
            Sending SHOWTRANS request to EXTRACT EX_SCOTT ...
            No transactions found
            Oldest redo log file necessary to restart Extract is:
            Redo Log Sequence Number 7, RBA 12037136.◆ 查看进程状态详情
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看进程状态详情
✔ 命令案例如下

※ GGSCI > send extract ex_scott , status
案例:
Sending STATUS request to EXTRACT EX_SCOTT ...
EXTRACT EX_SCOTT (PID 7679)
Current status: Recovery complete: At EOF
Current read position:    (此处是指Oracle的redolog的序列号和位置)
Redo thread #: 1
Sequence #: 7
RBA: 12065280
Timestamp: 2019-10-06 09:39:16.000000
SCN: 0.1182902 (1182902)
Current write position:    (此处是指ogg的trail抓取日志的序列号和位置)
Sequence #: 0
RBA: 21056
Timestamp: 2019-10-06 09:39:27.820197
Extract Trail: /ogg123/dirdat/es

 

◆ 查看进程的检查点情况(适用于所有进程)
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看进程的检查点情况(适用于所有进程)
      ·Input Checkpoint字段显示提取程序启动时在何处开始处理。
      ·Recovery Checkpoint字段显示最旧的未提交事务的位置。
      ·Next Checkpoint字段显示摘录正在读取的重做日志中的位置。
      ·Output Checkpoint字段显示提取正在写入的位置。
✔ 命令案例如下
  

※ GGSCI > info ex_scott , showch
案例:
EXTRACT    EX_SCOTT  Last Started 2018-09-10 19:46   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:00 ago)
Process ID           7679
Log Read Checkpoint  Oracle Redo Logs
                     2019-10-06 09:39:16  Seqno 7, RBA 12065280
                     SCN 0.1182902 (1182902)
Current Checkpoint Detail:
Read Checkpoint #1
  Oracle Redo Log

  Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
    Thread #: 1
    Sequence #: 7
    RBA: 12059152
    Timestamp: 2019-10-06 09:39:12.000000
    SCN: 0.1182899 (1182899)
    Redo File: /u01/oracle/oradata/orcl/redo01.log

  Current Checkpoint (position of last record read in the data source):
    Thread #: 1
    Sequence #: 7
    RBA: 12065280
    Timestamp: 2019-10-06 09:39:16.000000
    SCN: 0.1182902 (1182902)
    Redo File: /u01/oracle/oradata/orcl/redo01.log

Write Checkpoint #1

  GGS Log Trail

  Current Checkpoint (current write position):
    Sequence #: 0
    RBA: 21056
    Timestamp: 2019-10-06 09:42:31.414791
    Extract Trail: /ogg123/dirdat/es
    Seqno Length: 9
    Flip Seqno Length: No
    Trail Type: EXTTRAIL


◆ 强制执行检查点
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 强制执行检查点
    ※ 该命令只支持源端
✔ 命令案例如下
    ※ GGSCI> SEND EXTRACT group, BR BRCHECKPOINT IMMEDIATE
    案例:◆ 查看当前正在执行的SQL
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看当前正在执行的SQL
✔ 命令案例如下

[ogg]$ ps -ef |grep -v grep |grep -i re_scott        查找当前ogg进程的PID
[ogg]$ ps -ef|grep 7656    7656为上面一个命令的结果,然后代入继续定位查找相关Oracle进程号(带有“beq”标识的进程)
SQL > select sql_text from v$process p, v$session s ,v$sqlarea c where p.addr=s.paddr and p.spid=7661 and s.sql_hash_value = c.hash_value;        然后代入查找当前PID执行的SQL
案例:
[oracle@dg2 ~]$ ps -ef |grep -v grep |grep -i re_scott
oggos     7656  7587  0 09:54 ?        00:00:08 /ogg123/replicat PARAMFILE /ogg123/dirprm/re_scott.prm REPORTFILE /ogg123/dirrpt/RE_SCOTT.rpt PROCESSID RE_SCOTT USESUBDIRS

[oracle@dg2 ~]$ ps -ef|grep 7656
oggos     7656  7587  0 09:54 ?        00:00:08 /ogg123/replicat PARAMFILE /ogg123/dirprm/re_scott.prm REPORTFILE /ogg123/dirrpt/RE_SCOTT.rpt PROCESSID RE_SCOTT USESUBDIRS
oracle     7661  7656  0 09:54 ?        00:00:03 oracleorcl (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle     10149  8617  0 10:55 pts/6    00:00:00 grep 7656

◆ 查看抓取进程是否抓取完所有redo
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查询提取以确定提取是否已完成对保留在事务日志中的记录的处理,继续发出命令,直到它返回YES状态,表明没有更多记录要处理。
✔ 命令案例如下
    ※ GGSCI > SEND EXTRACT <进程名> logend
            如果返回结果为“YES”则代表ogg的抓取进程已经处理完了redo中符合自身配置参数中所有记录
    案例:

◆ 查看Trail文件信息
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看Trail文件信息
✔ 命令案例如下
    ※ GGSCI > info exttrail *        显示本地trail文件
    ※ GGSCI > info rmttrail *        显示远程trail文件
    案例:

◆ 强制跳过/提交
/////////////////////////////////////////////////////
✔ 相关说明
    ※ 查看进程的检查点情况(适用于所有进程)(该操作建议在dba指导下操作)
✔ 命令案例如下
    ※ GGSCI > SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2>        强制跳过事务
    ※ GGSCI > SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1>        强制提交事务
    案例:

◆ 【常见问题】
/////////////////////////////////////////////////////
※ OGG-01163 Bad column length:这种情况一般是由于缺少defgen文件或defgen文件失效导致,此时源端需要重新生成并传送表的defgen文件
※ 在目标端报错“有空值插入”的原因:源端没有配置附加日志,导致源端抓取的数据不全,此时在源端的数据库里把所有需要同步的ogg表的附加日志添加进数据库即可
    eg:
        1.开启数据库级的强制记录日志:alter database force logging; 
        2.添加数据库级附加日志:alter database add supplemental log data; 
        3.添加表级别附加日志:alter table xxtfp.cb_fp_dz add supplemental log data(all) columns;
        
                

《OVER》

发布了39 篇原创文章 · 获赞 38 · 访问量 3580

猜你喜欢

转载自blog.csdn.net/zzt_2009/article/details/105332463
ogg