Для Db2 в Linux/Unix/Windows: если вы используете 'LOCK TABLE... IN EXCLUSIVE MODE', тогда другие соединения будут ждать вашей фиксации/отката.
Для Db2 в Linux/Unix/Windows по умолчанию другие соединения будут ожидать либо LOCKTIMEOUT секунд (по умолчанию = -1 = ждать навсегда ) или что-то другое, настроенное другим приложением в своем соединении либо через SET CURRENT LOCK TIMEOUT
( который может включать параметр NOT WAIT или другие значения) или в конфигурации другого приложения Db2-client. См. документацию здесь.
Дополнительные сведения о параметрах конфигурации на стороне клиента (db2cli.ini, db2dsdriver.cfg, атрибуты соединения и т. д.) см. в Центре знаний Db2.
Важно понимать, что либо это другие приложения должны настроить свое время ожидания блокировки (либо в своем коде, либо в конфигурации Db2-клиента), либо параметр базы данных LOCKTIMEOUT будет определять время их ожидания. .
Короче говоря, если вы хотите, чтобы другие приложения не ждали, эти приложения должны быть запрограммированы/настроены для этой цели, или конфигурация базы данных LOCKTIMEOUT должна быть настроена соответствующим образом, или и то, и другое.
На практике это означает, что вам нужно либо избегать блокировки таблиц в эксклюзивном режиме (явно или неявно), либо вам нужно выполнять это в самое спокойное время и сохранять продолжительность блокировки как можно короче. В частности, ваша работа не может сообщить другим соединениям Db2, как настроить их поведение при ожидании блокировки!
person
mao
schedule
15.05.2018