When an application server instance with active transactions in progress is restarted after a failure, the transaction service uses recovery logs. These logs are maintained by each transactional resource to rerun any in-doubt transactions and return the overall system to a self-consistent state.
Why and when to perform this task
This recovery process begins as soon as all of the necessary subsystems within the application server are available. If the application server is not restarted in recovery mode, the application server can start accepting new work as soon as the server is ready, which might occur before the recovery work has completed.Normally, this process is not a problem. However, situations exist when your operating procedures might not be compatible with supporting recovery work and new work simultaneously. For example, you might have a high availability environment where the work handled by the application server that failed is immediately moved to another application server. This backup application server then exclusively processes the work from the application server that failed until recovery has completed on the failed application server and the two application servers can be re-synchronized. In this situation, you might want the failing application server to only perform its transactional recovery process and then shut down. You might not want this application server to start accepting new work while the recovery process is taking place.
To prevent the assignment of new work to an application server that is going through its transaction recovery process, restart the application server in recovery mode.
To be able to restart an application server in recovery mode, you must perform the following steps before initially starting the application server:
Steps for this task (dependent on configuration)
Result
The application server restarts in recovery mode, performs transactional recovery, and shuts down. Any resource locks that the application server held prior to the failure are released.Related tasks
Starting servers
Related information
Starting servers using scripting
startServer command