This parameter specifies the number of seconds that an application will wait to obtain a lock. This helps avoid global deadlocks for applications.
If you set this parameter to 0, locks are not waited for. In this situation, if no lock is available at the time of the request, the application immediately receives a -911.
If you set this parameter to -1, lock timeout detection is turned off. In this situation a lock will be waited for (if one is not available at the time of the request) until either of the following:
Recommendation: In a transaction processing (OLTP) environment, you can use an initial starting value of 30 seconds. In a query-only environment you could start with a higher value. In both cases, you should use benchmarking techniques to tune this parameter.
When working with DataLinks Manager, if you see lock timeouts in the db2diag.log of the DataLinks Manager (dlfm) instance, then you should increase the value of locktimeout. You should also consider increasing the value of locklist.
The value should be set to quickly detect waits that are occurring because of an abnormal situation, such as a transaction that is stalled (possibly as a result of a user leaving their workstation). You should set it high enough so valid lock requests do not time-out because of peak workloads, during which time, there is more waiting for locks.
You may use the database system monitor to help you track the number of times an application (connection) experienced a lock timeout or that a database detected a timeout situation for all applications that were connected. For more information see Number of Lock Timeouts.
High values of the lock_timeout monitor element can be caused by: