Я никогда не получал эту работу в первый раз, но теперь я не могу сделать это вообще.
Где-то есть пул соединений, использующий базу данных, поэтому попытка отбросить базу данных, когда приложение использует базу данных, должна выдать эту ошибку. Проблема в том, что при выполнении этих команд нет соединения с базой данных:
db2 connect to mydatabase
db2 quiesce database immediate force connections
db2 connect reset
db2 drop database mydatabase
Это всегда дает:
SQL1035N The database is currently in use. SQLSTATE=57019
выполнение этой команды не показывает соединений / приложений
DB2 list applications
Я даже могу деактивировать базу данных, но все равно не могу ее удалить.
db2 => deactivate database mydatabase
DB20000I The DEACTIVATE DATABASE command completed successfully.
db2 => drop database mydatabase
SQL1035N The database is currently in use. SQLSTATE=57019
db2 =>
У кого-нибудь есть какие-нибудь подсказки? Я запускаю cmd-windows как локальный администратор (windows 2008), и это также администратор для DB2. Пользователь connectionpool не может подключиться во время состояния покоя.
DB2 connect reset
Я просто использую «db2stop force», затем «db2start», затем «drop db». Этот способ лучше команды quiesce, которая по своей природе асинхронна.
источник
Ваша проблема может возникнуть из-за различий
connect reset
иterminate
. Посмотрите на это обсуждение . Вы также можете взглянуть на документацию IBM. Так что это может работать для вас , если вы запускаетеdb2 terminate instead
изdb2 connect reset
.источник
Приостановление предотвратит падение. Мы были вовлечены в большую работу по очистке, и после запуска revoke / connect и остановки баз данных мы ждали несколько месяцев, чтобы сбросить тестовые базы данных. Наша команда сброса не сработает, если мы не успокоим БД, а затем сбросим.
источник
Сделайте эти шаги из командной строки. Это опустит БД:
Заставить приложения все;
деактивировать БД;
падение дб;
источник
Когда база данных приостановлена, она все еще находится в цепочке баз данных с менеджером базы данных, хотя и помечена как приостановленная. Когда вы попытаетесь удалить его, мы проверим, находится ли он в этой цепочке; если так, то он все еще используется ==> Вы не можете его уронить.
Вы должны выпустить unquiesce db или db2stop и db2start, а затем попытаться удалить их. Он должен работать.
источник
У меня похожая проблема, но как бы я ни заставлял приложение останавливаться, оно автоматически вернется.
В моем случае это служба, которая блокирует базу данных.
Мне удалось решить эту проблему, завершив службу PID из диспетчера задач Windows с PID, найденным в списке приложений DB2.
Чтобы найти PID, откройте Центр управления DB2, Все базы данных, DATABASE (та, которую вы пытаетесь отбросить), Список приложений, Показать цепочку блокировки, Показать детали блокировки и прокрутите вниз, чтобы найти идентификатор процесса клиента и завершить этот PID, и повторите попытку.
Надеюсь, что это поможет людям в будущем.
источник