Try OpenEdge Now
skip to main content
User Guide
Moving From Failure to Recovery with OpenEdge Replication : OpenEdge Replication from normal activity through failure and recovery : Step 3: Entering pretransition : Manually applying after-image extents
 
Manually applying after-image extents
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 transition property (under the [server] directive in the properties file) must be set to manual.
*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.
To apply AI extents:
1. Display failure recovery information.
Use the following command:
dsrutil target-db-name -C RECOVERY Agent
2. Determine the AI extent number from the command output. Select the last-applied AI extent or, if the last-applied extent was completely processed, select the next available extent.
The following is an example of the relevant section of the command output:
                              .
                              .
                              .
  Last AI Extent processed
   AIMAGE BEGIN date:              Tue Oct 18 13:33:31 2005
   AIMAGE NEW date:                Tue Oct 18 13:48:55 2005
   After Image File Number:        3
   File Last Opened:               Tue Oct 18 13:48:55 2005
   Completely Applied to Target:   No
Determine the file number of the last-applied AI extent. In this example the last-applied extent is 3. Since the value after Completely Applied to Target is No, you will use 3 as the extent-name in the next step.
If the value after Completely Applied to Target was Yes, you would use 4 as the extent-name in the next step, since extent 3 would have already been completely applied.
Note: The After Image File Number corresponds to the Seqno that appears in the extent list when you use the applyextent qualifier with DSRUTIL. For more information, see DSRUTILapplyextent qualifier.
3. Use the appropriate AI extent file number in the following command:
dsrutil target-db-name -C applyExtent qualified-extent-name
As the command executes, it performs the following validation:
*The extent must exist and be valid.
*The status of the extent must be FULL, BUSY, or LOCKED.
*The AI extent file number either must be the same as the AI extent file number for the last AI block processed by the agent, or it must be the next extent file number (if the previous AI extent was completely processed).
If the source database after-image extents cannot be applied to the target database before transition, the target database will not contain any of the unapplied source database transactions. In this case, unless the transactions can be recreated and re-entered after transition, you will lose an indeterminate number of transactions.
After you apply the AI extent, you can begin a manual transition of the target. For more information, see Settingup manual transition.