Try OpenEdge Now
skip to main content
User Guide
OpenEdge Replication and after-imaging : The role of after-image extents in the Replication process : After-image extent states

After-image extent states

The following table describes the five different after-image extent states that can exist when a database is enabled as an OpenEdge Replication source database.
Table 2. After-image extent states
After-image extent state
The after-image extent is empty and ready to be used by the database.
The after-image extent is currently being written to by the database. Transaction log records continue to accumulate until an extent switch is performed.
An extent switch occurs when the BUSY AI extent becomes full, or a database utility executes a switch. For example, RFUTIL AIMAGE NEW explicitly causes an extent switch, or an online backup performs an extent switch as part of its processing.
For databases running OpenEdge Replication, a BUSY extent state is changed to LOCKED when the extent switch occurs. For databases without replication, the state is changed to FULL.
The after-image extent is no longer being written to, but has not been replicated in its entirety to the target database(s). No new logs are written to the extent,but it cannot be emptied until all transaction log records have been sent to and applied by the Replication agent.
Once all the transaction log records in the extent have been replicated, the state is changed as follows:
*If you are using AI File Management in addition to Replication, the state changed to ARCHIVED.
*If you are not using AI File Management, the state is changed to FULL.
The after-image extent is FULL and is ready to be emptied. (All processing by Replication and AI File Management is completed.)
The after-image extent has been archived by the AI File Management Utility, but has not been fully replicated to the Replication target database. For details about the utility, see OpenEdge Data Management: Database Administration.
As users perform database changes, the actions required to make those changes are recorded as transaction log records, which are organized into AI blocks and then written into the AI file. The OpenEdge Replication server reads after-image blocks, then sends them using TCP/IP to the OpenEdge Replication agent. The OpenEdge Replication agent then applies the transaction log records contained in the after-image blocks to the target database.
When a source database is enabled for replication and database activity continues without OpenEdge Replication being active, the after-image extents provide a persistent store for all of the source database activity. Once OpenEdge Replication is restarted, all non-replicated database activity is replicated to the target using the data in the after-image extents. It is essential, therefore, that all after-image data remain accessible so that OpenEdge Replication can properly process it. Once the after-image data is replicated, the space it occupies can be reused by the database.
Reusing after-image space is accomplished by emptying FULL-UNLOCKED after-image extents using the following command:
rfutil db-name-C aimage empty