Once the error has occurred, the target database will need to be stopped and restarted using the normal target database startup parameters before being able to re-attempt applying AI files.
Assuming that either the source database is inoperable or the replication server (RPLS) has been stopped.
1. Stop the target database and restart it manually, using the normal target database startup parameters.
Do not use the force option when stopping the target.
$ proshut target -by
$ proserve target [+ startup parameters ] -DBService replagent
2. Once the target database is started, run the following commands from the
same directory as the '<target>.db' file:
a. TriggerTransition so that the target database agent goes into the pre-transition state, which allows AI files to be applied.
$ dsrutil <dbname> -C triggerTransition
b. Find the next ai file that needs to be rolled forward. For detailed information, please refer to Article
How to determine the correct ai extent number to apply to target first?
$ dsrutil target -C recovery agent
c. Since this issue only occurs when the
dsrutil applyextent command is run from a directory
other than the directory where the database was started from. Apply the needed ai files with the
fully qualified path to the ai extent
and from the
same directory that the database Control Structure file is in (.db).
$ dsrutil <dbname> -C applyextent <path>/<ai_extent.a#>
d. Transition the target if this is the intent, otherwise restart the target database for communications to resume between the RPLS and RPLA once synchronisation has completed.