==Update Operations==
During the term of a database update, a locking file {{MonoCode|upd.basex}} will reside in that database directory. If the update fails for some unexpected reason, or if the process is killed ungracefully, this file may not be deleted. In this case, the database cannot be opened anymore using the default commands, and the message "Database ... is being updated, or update was not completed" will be shown instead. If the locking file is manually removed, you may be able to reopen the database, but you should be aware that database may have got corrupt due to the interrupted update process, and you should revert to the most recent database backup.
==Database Locks==
The standalone versions of BaseX (command-line, GUI) cannot be synchronized with other BaseX instances. If concurrent write operations are to be performed, we generally recommend users to always work with the client/server architecture.
Since {{Version|7.2.1}}, to avoid database corruptions caused by unmanaged concurrent write operations, a shared lock is requested on the database table file ({{MonoCode|tbl.basex}}) whenever a database is opened. If an update operation is triggered, it will be rejected with the message "Database ... is opened by another process." if no exclusive lock can be acquired.
In {{Version|7.2}}, pin files were written into the directory of opened databases. The message above appeared whenever an unused pin file remained after having ungracefully killed or shutting down a BaseX instance. In this cases, pin files could be manually removed.