Oninit Logo
The Down System Specialists
Partnerships Contact
Onstat -a -b/-B -C -c -d/-D -F -f -G -h -i -j -k/-K -L -l -m -o -P -p -R -r -s -t/-T -u -X -x -z

onstat -g ddr Status of ER Log Reader

The onstat -g ddr command displays the current status of the ER log reader.

The onstat -g ddr information can be used to monitor replay position in the log file and ensure replay position is never overwritten, which could cause loss of replicated data. If a failure occuers, the replay position is the point from where ER starts re-reading the log information into the log update buffers. All the transactions generated before this position at all the target servers have been applied by ER stored in stable queue space. As messages are acknowledged or stored in the stable queue, the replay position should advance.

The onstat -g ddr output shows you a snapshot of the replay position, the snoopy position, and the current position. The snoopy position identifies the position of the ddr_snoopy thread in the logical logs. The ddr_snoopy has read the log records up until this point. The current position is the position where the server has written its last logical log record.

DDR -- Running --

# Event  Snoopy   Snoopy   Replay   Replay   Current  Current
Buffers   ID      Position  ID      Position   ID     Position
3088     3672     2b492258 3672     2b465018 3672     2b494000

Log Pages Snooped:
      From      From      From Staging     Tossed
     Cache      Disk      File             (LBC full)
  66183524    182720           0           0

CDR log records ignored   : 0
DDR log lag state   : On
Current DDR log lag action   : logstage
DDR log staging disk space usage  :0.69%
Maximum disk space allowed for log staging : 4194304 KB
Maximum disk space ever used for log staging :4298.23 KB
Current staged log file count :21
Total dynamic log requests: 0

DDR events queue

Type   TX id    Partnum  Row id


    If you notice that replay position is not advancing, this can mean that the stable queue is full or a remote server is down.
    If log reading is blocked, data might not be replicated until the problem is resolved. If the block is not resolved, the database server might overwrite the read (ddr_snoopy) position, which means that data will not be replicated. If this occurs, you must manually resynchronize the source and target databases.
    ER uses a cache to track what is happening at the current snoopy position. A Tossed (LBC Full) happens when the snoopy position is falling behind the current log position and the cache fills, once the cache is full it is "Tossed".
    To avoid these problems, follow these guidelines:
  • Have 24 hours of online log space available.
  • Keep the log file size consistent. Instead of having a single large log file, implement several smaller ones.
  • Avoid switching logical logs more than once per hour.
  • Keep some distance between LTXHWM (long-transaction high-watermark) and LTXEHWM (long-transaction, exclusive-access, high-watermark).

To discuss how Oninit ® can assist please call on +1-913-674-0360 or alternatively just send an email specifying your requirements.