Salesforce

What is DSRUTIL applyextent?

« Go Back

Information

 
TitleWhat is DSRUTIL applyextent?
URL NameP184136
Article Number000137890
EnvironmentProduct: OpenEdge Replication
Version: 10.x, 11.x
OS: All supported platforms
Other: DSRUTIL applyextent
Question/Problem Description
What is DSRUTIL applyextent?
How to ensure the replication target database has the latest transaction notes before it is transitioned?
When the target database is behind the source database after network outage, can synchronization time be improved before restarting?
How can the target keep up when very high source database transaction processing causes the target database to fall behind and flood the source replication queue?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Any AI file that has not been completely applied to the Replication Target database is marked as a LOCKED AI file on the source database. This means that the source database transaction notes recorded in these AI files have not all or in part being applied to the Target database by the Replication Agent process. These Locked AI files can be applied manually to the target database should the need arise, with the DSRUTIL utility.

Use Cases:
  • A Source database has been run in asynchronous replication mode but is currently inoperable. The Target database can be transitioned to a Source. Before doing so, the Target database may need notes from one or more of the current Source database AI files to be manually rolled forward before transitioning and bringing the current replication Target database online as the new Source or non-replication enabled (normal) database, provided that access to the source AI files is still possible.
  • Replication has been down for an extended period of time resulting in the Target database falling far behind the transactions that have been committed against the Source database.  When replication is brought back online, long synchronisation times would result before the Target can be bought inline with the Source database. This synchronisation time can be negated by first manually applying Locked source AI extents to the Target database.
  • Very high transaction processing against the Source database causes the Target database to fall behind and flood the Source Replication Queue, causing the source database to stall. The Locked Source AI files that are created as a direct result of this processing, can be manually applied to the Replication Target instead allowing normal replication to resume once the high end Source activity has completed.
Steps:

0. Conditions the Target database must meet in order to manually apply AI extents:
  • The Agent must not be configured for auto transition.
  • The Agent must be in Pre-Transition mode before AI extents can be manually applied.
1. Before manually applying Locked AI extents to the Target database, confirm the AI file the target is expecting with the DSRUTIL -C RECOVERY AGENT command. For detailed information, refer to Article  How to determine the correct ai extent number to apply to target first?  
            
$   dsrutil target -C recovery agent

2. Locked AI files can be manually applied to the PRE-TRANSITION target database state using the fully qualified path to the AI extent, executed from the directory that the Target database Control Area (.db file) is in.
            
$   dsrutil <dbname> -C applyextent <path>/<ai_extent.a#>

3. Once the required AI files have been applied:
  • Transition the target if this is the intent.
  • If the source is again operable, restart the source database for the RPLS and RPLA to connect.
  • If the source was still online, restart the Replication Server (dsrutil source -C restart server)
In the latter two cases, once synchronisation has completed all Locked AI files will be marked FULL ready for emptying if the AI Archive Daemon is not enabled, otherwise the AIMGT process will mark these as EMPTY having archived these files previously. 

For a full description of how to manually apply Locked AI extents to a Replication Target database, refer to the Methods outlined in Article How to manually apply a LOCKED AI extent to the target database?   

Known Issues with DSRUTIL APPLYEXTENT   


Prior to OpenEdge 10.1C, relative path names for the AI extent name are recognised by the applyextent utility. Refer to Article: Prior to OpenEdge 11.7, manually applying ai extents from a mixture of archived sources with different naming conventions fails with a Memory Violation. Refer to Article:
Workaround
Notes

 
Keyword Phrase
Last Modified Date11/20/2020 7:21 AM

Powered by