Как сменить пароль на СУБД не прерывая работу приложения-клиента?
Вводные:
Хост 1. Приложение, логин-пароль к СУБД хранятся локально. SLA 24/7.
Хост 2. СУБД. Может быть любая: от MongoDB до Sybase ASE.
Задача:
Без прерывания работы приложения сменить пароль для логина СУБД.
Есть ли какие-то действенные способы, кроме таких:
1) синхронная смена пароля (минимальное время простоя, но он есть);
2) создание второго логина, переключение приложения на него, деактивация первого логина (неконсистентность с точки зрения документального учета: логин аппрувился один, а работает по факту другой).
Чем больше знаю, тем лучше понимаю, как мало знаю.
На хосте1 одной командой (sed -i) меняется пароль в файле настроек, и через точку-с-запятой (;) второй командой (sql-client-tool <cmd.sql) отправляются инструкции SQL-серверу на смену пароля. Время выполнения - микродоли секунды, моргнуть не успеете.