понедельник, 10 декабря 2012 г.

Останов зависшего Oracle


Типичная ошибка, если что-то намудрили с экземпляром БД и он ни в какую не хочет останавливаться:
ORA-01089: immediate shutdown in progress - no operations are permitted

ps -ef | grep -i smon
kill -9 PID_найденного_процесса
ps -ef | grep -i "ora_"

если процессов, начинающихся с ora_ и содержащих имя прибиваемой базы нет - экземпляр вы прибили. Однако надо понимать, что для оракла произошёл "сбой экземпляра", и при следующем старте будет проведено автоматическое восстановление - подкат журналов и откат незавершённых транзакций. И, конечно, у вас есть бэкап ...

P.S. Нашел еще способ остановить неостанавливаемую базу:
connect / as sysdba
shutdown abort