AI Extents in Progress OpenEdge and Their Monitoring
AI Extents:
In Progress OpenEdge databases, data integrity is critical. Unexpected power failures, hardware issues, or system crashes can leave a database in an inconsistent state. To minimize data loss and enable database recovery, OpenEdge provides After-Imaging (AI).
A key component of this mechanism is the AI extent. Although database administrators regularly work with AI extensions, they are often misunderstood. This article explains what AI extents are, how they work, why empty AI extents are important, and how proactive monitoring helps keep production databases running smoothly.
What Are AI Extents:
AI extents are physical files that store the After-Image records generated by database transactions.Rather than writing to a single file forever, OpenEdge maintains multiple AI extents.Only one AI extent is active at any given time.As the current extent becomes full, OpenEdge automatically switches to another available EMPTY extent.
For example:
AI Extent 1 → FULL
AI Extent 2 → FULL
AI Extent 3 → BUSY (currently being written)
AI Extent 4 → EMPTY
AI Extent 5 → EMPTY
Importance:
OpenEdge always needs an EMPTY extent available for the next switch.
Imagine there are only three extents:
Extent 1 → FULL
Extent 2 → FULL
Extent 3 → BUSY
Now Extent 3 fills up.
The database looks for another EMPTY extent.There isn’t one.At this point, AI logging cannot continue.Depending on configuration, database activity may stop until an administrator archives and empties a FULL extent.
This is why maintaining spare EMPTY extents is considered a database administration best practice.
How AI Extents Are Reused:
A FULL extent cannot simply be overwritten.The normal cycle is:
EMPTY
↓
BUSY
↓
FULL
↓
Archived
↓
Emptied
↓
EMPTY again
The administrator archives the AI file, ensuring it is safely stored for recovery purposes.Only then is the extent marked EMPTY and returned to the rotation.
Monitoring AI Extents:
Because running out of EMPTY extents can impact production systems, administrators monitor AI extent availability continuously.
Typical monitoring checks include:
- Number of EMPTY extents
- Current BUSY extent
- Number of FULL extents
- Errors accessing AI extents
- Database availability
In production, manually checking AI extents every hour isn’t practical.Therefore we need to automate the process.
For example, the monitoring script used in our environment performs the following steps:
- Checks all configured OpenEdge databases.
- Executes rfutil -C aimage extent list.
- Counts the number of EMPTY extents.
- Compares the count against a configured threshold.
- Detects any RFUTIL or database access errors.
- Sends an email alert if intervention is required.
- Includes the current AI extent details and the recommended recovery command in the alert.
The mail will look like:

Conclusion :
AI extents are a fundamental part of the Progress OpenEdge recovery architecture. They ensure that committed transactions are safely recorded and available for recovery or replication.
However, AI extents require regular maintenance. FULL extents must be archived and emptied so they can be reused. If no EMPTY extents remain, database operations can be disrupted.
By implementing automated monitoring and timely alerts, database administrators can identify issues early, maintain continuous AI logging, and significantly improve the reliability and recoverability of their OpenEdge databases.
References:
https://community.progress.com/s/article/P103761