Manually apply after-image extents
- Last Updated: March 30, 2020
- 3 minute read
- OpenEdge
- Version 12.2
- Documentation
During normal conditions, the target database is automatically updated with data from the source database. The updates are transmitted as blocks of data from the source's AI transaction log. After a failure condition, it is possible that the most recent blocks were unable to reach the target. For example, a TCP/IP failure could lose packets that were awaiting transmission.
You can recover the missing data by manually applying the after-image extents that contain the data that has not already been applied to the target. However, you can do so only under the following conditions:
- The
transitionproperty (under the[server]section in the properties file) must be set tomanual. - The agent must be in a pre-transition state.
- The storage device that contains the source database AI extents must be accessible by the target machine. You cannot save AI extents on the same system where the source is running because the extents would not be accessible after a system crash. Network area storage (NAS) or storage area network (SAN) devices are ideal for storing AI extents.
- If Replication AI streaming, the
ai-streamingproperty under the[agent]section in the properties file, is enabled, the RSB cache must be empty before applying extents. If it is not empty, attempting to apply an extent, results in the following message:The extent cannot be applied. There are %d unapplied blocks remaining in the RSB cache. (19292)Note: While the replication agent main thread is in the applying-extent state, you cannot run thetriggertranistioncommand. With AI Streaming replication, you cannot run subsequentapplyextentcommands while the agent is in the applying-extent state. The writer thread must first empty the RSB cache and the main agent thread will move out of the applying-extent state.
To apply AI extents: