OGG的 Lag at Chkpt和Time Since Chkpt的理解,前提需要理解ogg的每个进程都有它自己的checkpoint file。每当一个进程看到在事务的commit时,检查点文件中就将产生一个检查点。ogg的恢复进程总是以检查点作为起点。而ogg是通过监控的checkpoint和Lag at Chkpt,Time Since Chkpt这2个指标来衡量数据同步延迟时效的。

1、Checkpoint CHECKPOINT:Replicat将其读取trail文件的位置记录为检查点。Replicat将这些检查点同时记录在检查点表和检查点文件中。在每个事务完成时,Replicat将更新检查点。另外Replicat会定期将其当前读取位置写入检查点文件,这些检查点是事务应用过程中的某个点,间隔长度由CHECKPOINTSECS参数控制。

2、Time Since Checkpoint 指ogg的extract或replicat进程产生最近的一个检查点,再从这个检查点到目前为止有多长时间没有更新了,即最近一个检查点与当前系统时间的时间差。该值可以通过info看到是在不断变化(特别是当处理长会话时,会持续增长,直到处理完该长会话)。

3、Lag at Checkpoint lag是复制进程处理最后一条记录的操作系统时间和此条记录在trail文件中记录的时间戳的差值,这里需要注意的是lag延迟只有在检查点更新时才会更新,所以这个值不是实时更新的,具有一定的离散性,实际上应该理解成最后一个检查点的最后一条记录与当前系统时间的时间差。

 OGG的lag指的是数据复制的延迟,对于不同的进程lag较长时分析如下:

(1)、 主Extract的lag较大

   主Extract负责对于数据库的日志做解析获取数据变化,只要正常运行时其延迟一般都在秒一级左右。如果出现了较大的延迟,首先排查是否存在大交易,可能进程正在处理中;如果没有大交易,但是延迟却非常大,请联系技术支持予以调查。

(2)、Data Pump的lag较大

   Data Pump负责数据的传输,如果出现较大延迟可能是因为网络出现问题,首先可以观察网络带宽是否被占满,也有可能短时间内产生了较多的数据变化。

(3)、Replicat的lag较大

   Replicat负责数据的入库,一般速度相对于主extract和data pump较慢,容易产生较大延迟。当replicat出现延迟后,需要对进程进行调优或者拆分,在日常业务状态下应当不存在较大延迟(一般几秒到一分钟以内);当出现批处理时,可以允许一定的延迟,一般以不影响第二天的正常业务为准 – 例如,如果批处理每天早上4点前结束,可以控制延迟在2小时以内。