Objectivity/DB Lock Server

This section provides answers to the most commonly asked questions related to Objectivity/DB services.







What is the lock server?

A lock server manages concurrent access to persistent objects by granting or refusing locks to requesting transactions. When a transaction requests data from a federated database, Objectivity/DB locates the lock server that services the federated database and then contacts the lock server to obtain a lock on the requested data. The lock is granted only if it is compatible with existing locks. Obtaining a lock prevents multiple concurrent transactions from performing incompatible operations on the same data, whether these transactions belong to different applications or to different threads of the same application.


How do I start/stop the lock server?

On Windows, there are 3 ways that you can start/stop the lock server:
➤ using the Objectivity Network Services tool that is provided with Objectivity/DB
➤ using oolockserver/ookillls
➤ using Windows Administrative Tools Services and selecting ools-13

On UNIX, you start the lock server by using oolockserver. To stop the lock server, you run ookillls.


How do check if the lock server is running on a system?

You can check whether lock server is running on a particular workstation by using oocheckls.


Is there a way to display current locks?

Yes. You can list all locks and processes currently managed by the lock server. To do this, use oolockmon. You can use this information to determine the locking status on objects and to locate unexpected locks. If you find locks that are held by transactions belonging to terminated application processes, you can use oocleanup to release them.


Is there a way to display all active transactions?

You can list all active transactions that have locks on data in a federated database. To do so, run oocleanup with only the bootFilePath. You can use oolistwait with the bootFilePath and various options to list transactions that are waiting on any lockable Objectivity/DB object (federated database, database, or container). This tool also finds out whether a specified transaction is waiting for a lockable object, and if so, which transactions Federated Database Tasks Referencing Objects in a Federated Database currently hold the lock on that object.

Return to top