powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / защита от shutdown
24 сообщений из 24, страница 1 из 1
защита от shutdown
    #39543547
kvarz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый день. вопрос очень нестандартный, но вдруг у кого-то будут соображения.
нужна защита. не от дурака, а от ошибки высококвалифицированного, обличенного привилегиями DBA админа(че-ло-ве-ка) .

есть набор админов oracleDBA. скажем, Х человек.
есть набор баз данных Oracle различных версий на разных платформах (основные - AIX, SUN/Oracle, Linux) в количестве 100Х штук.
критичность БД - от шушерного стенда, который никто и не заметит до очень и очень критичной системы, за инцидент на которой можно и на улицу пойти навсегда...
есть большое количество задач, которые приходится решать на этих БД. в том числе и рестарты.
и количество задач и их длительность зачастую такие, что приходится делать по 2-3 одновременно.

проблема заключается в том, что из-за всего вышеперечисленного бывают случаи, когда инженер, казалось бы, все делает правильно, но не в той консоли. ну ошибся окошком ...

как можно защититься от подобных ошибок ?

правило что в один момент времени в работе может быть только одна задача - не работает. сильно падает производительность.
раскраска цвета консоли в зависимости от критичности - не помогает. можно делать и длительные непересекающиеся задачи на 2 пром.системах одновременно.

есть какие-то возможности при вводе команды выполнять какое-либо действие по ключевым словам ? на любом уровне. прикладной (стандартное, не самописное ПО)/системный/БДшный ?
например, ввел команду, содержащую определенные слова, и выскочило окошко с какой-то информацией. или пришло сообщение с именем сервера в консоли или БД выдала на экран свое имя или еще что-то....
важно чтобы админ, который проводит работы на сервере X1 с БД Y1 в случае ошибки мог увидеть имя сервер X2 и/или имя БД Y2
и, что еще более важно, чтобы админ мог успеть осознать и передумать!

PS. триггер before shutdown не работает. после того, как в консоли введена команда shutdown - останов системы неизбежен.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543556
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0. Научить админов смотреть что они выключают? Дать время админам смотреть что они выключают?
1. отучиться наконец гасить базы shutdown и использовать srvctl stop database -d mydb . Как раз ручками набирая "mydb" и будет самопроверка.
2. выделить одного человека, который будет заниматься только выключением\перезагрузкой.
3. как-то поможет правильный login.sql чтобы строка подключения была в sqlplus и правильный command line prompt

У нас как раз "можно и на улицу пойти навсегда" если система мониторинга обнаружит одновременные подключения к prod и non-prod БД\хостам. При этом с shutdown ошибаться в другом окошке совсем не обязательно.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543566
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я раскрашиваю разные консоли в разные цвета.
Продовские - в различные вариации красного.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543568
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvarz,

А че такого? Лишь-бы в SLA укладывалось. Вот drop database это - совсем другое дело.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543580
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то случайно набрала команду shutdown immediate не в sqlplus, а в консоле, и старая добрая солярка ушла в ребут на пару часов )))
с тех пор пишу только shu immediate )))
...
Рейтинг: 0 / 0
защита от shutdown
    #39543601
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВА,

У вас там ораклисты под рутом ходют??? Однако...
...
Рейтинг: 0 / 0
защита от shutdown
    #39543613
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. что-то должно обязательно показывать где ты сейчас: или prompt или title
2. написать простенький скрипт shu.sql с проверкой:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select
  d.name
 ,d.db_unique_name 
 ,i.instance_name
 ,i.host_name
 ,i.version
from v$database d
   , v$instance i;

prompt You are going to execute "shutdown &1".
pause Press [Enter] to continue or Ctrl+c to abort:

shutdown &1;



и вызывать через "@shu immediate"
...
Рейтинг: 0 / 0
защита от shutdown
    #39543627
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtender2. написать простенький скрипт shu.sql с проверкой:
И потом размножить его на 100х серверов, и объяснить всем новеньким что делаем именно так, когда над душой стоит погонщик следящий за нормой выработки. Проблема в консерватории. Если базы такие важные, то нельзя работать где-то еще, если работаешь с той самой . Увы, гонки противопоказаны при перевозке действительно драгоценных грузов.

Правильные prompt, разные цвета, хождение под пользователем с least privs это всё помогает, но костыль. И целые схемы trunc, и большие важные индексы drop, всё это есть и будет при повышенной сверх нормы нагрузке.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543631
Shutdown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DВАКак-то случайно набрала команду shutdown immediate не в sqlplus, а в консоле, и старая добрая солярка ушла в ребут на пару часов )))
с тех пор пишу только shu immediate )))
это называется обезьянка с гранатой...
...
Рейтинг: 0 / 0
защита от shutdown
    #39543638
рут#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DВАКак-то случайно набрала команду shutdown immediate не в sqlplus, а в консоле, и старая добрая солярка ушла в ребут на пару часов )))
с тех пор пишу только shu immediate )))это нужно было промахнуться дважды.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543643
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рут#DВАКак-то случайно набрала команду shutdown immediate не в sqlplus, а в консоле, и старая добрая солярка ушла в ребут на пару часов )))
с тех пор пишу только shu immediate )))это нужно было промахнуться дважды.
ничуть не удивлен :)
тут уже писали - как под рутом работать с ораклом в плане обычного администрирования?
не, ну и # от $ отличить да, сложно.
но это все накладки женской логики.
по теме нормально йода написал, кроме п. 2 и 3.
отдельного человека никто не будет брать на работу.

если реально что-то массовое - то никто не отменял написание shell скриптов. если мы знаем что нам в день А надо будет сделать массовый шатдаун - заранее пишем скрипт - разве это проблема?
текст спокойно перепроверяем и по необходимости достаточно его запустить - и все нужные серваки в дауне.
второй скрипт их поднимает.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543649
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvarz(че-ло-ве-ка)Решать орг.задачи программным путем - впустую...
Посекторно распределить и делегировать ответственность вплотную до уровня исполнителей, с разовым отчетом о предпринятых мерах.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543655
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
master_yoda,

Зачем на сами сервера то класть? Работай со своей машины. А вообще если у вас нет своих скриптов....
...
Рейтинг: 0 / 0
защита от shutdown
    #39543680
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kvarz , еще вариант защиты от совсем уж дурака, если у вас такие, - написать системный триггер before shutdown, который будет проверять некоторое условие, например поле в табличке, и если там нет нужного значения, то в триггере выбрасывается exception и shutdown не пройдет. Пройдет только после изменения значения в поле на нужное.

...тогда возвращать в таблицу запрещающее значение будет наиболее естественно в триггере на startup.

Или более простой в исполнении вариант, если все таки там не совсем дураки, - тоже триггер на shutown, но будет запрещать первую попытку shutdown, выводя в тексте exception имя базы в верхнем регистре. А вторая попытка в течении, скажем, 5ти минут, уже будет разрешаться.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543686
instead of shutdown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nobody1111триггер before shutdownНе может предотвратить shutdown. Sysdba даже исключения не увидит в своей сессии.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543687
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
instead of shutdownNobody1111триггер before shutdownНе может предотвратить shutdown. Sysdba даже исключения не увидит в своей сессии.

Да, верно, забыл, что это от sysdba делается.

Можно запретить команду shutdown в sqlplus

https://docs.oracle.com/cd/B28359_01/server.111/b31189/ch9.htm#i1058852

Чтобы выполнить shutdown, придется сначала убрать запрет из таблицы PRODUCT_USER_PROFILE. Правда, от startup force это не спасет....

Восстановление запрета после стартапа опять же можно автоматизировать.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543690
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггера и прочие препятствия к выполнению административных задач - плохая практика.
Такие средства будут мешать нормальной работе DBA, вызывать раздражение и, как следствие, будут либо тихо аннулированы, либо их обход будет автоматизирован - в итоге технические препятствия не выполнят своей предохранительной функции в "час Ч".
...
Рейтинг: 0 / 0
защита от shutdown
    #39543693
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvarz,

Мы в таких ситуациях поступаем таким образом:
1. Работаем в данный момент времени только с той базой, которая нужна. Отключаемся от всех остальных баз.
2. Пишем документ, в котором расписано каждое действие - с какой базой работаем, с какого сервера, что конкретно и когда запускаем. Выглядит немного параноидально, что да то да, но реально помогает.
3. Всегда работаем попарно - один запускает скрипты, второй сверяется с документом из пункта 2 на предмет правильности выполнения. Замедляет работу? Может быть, но по крайней мере окошками не ошибаемся.

Никакие скрипты не защитят от невнимательности.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543694
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,
на вкус и цвет все фломастеры разные. Особенно если дело касается "очень и очень критичной системы, за инцидент на которой можно и на улицу пойти навсегда...". Я так не делаю, хватает set sqlprompt в login.sql, но если и инженеров, и баз много, то ограничения будут разумной практикой.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543703
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nobody1111Можно запретить команду shutdown в sqlplus

https://docs.oracle.com/cd/B28359_01/server.111/b31189/ch9.htm#i1058852

Чтобы выполнить shutdown, придется сначала убрать запрет из таблицы PRODUCT_USER_PROFILE. Правда, от startup force это не спасет....

Восстановление запрета после стартапа опять же можно автоматизировать.

Само собой, такое ограничение стОит ставить только на критичных базах. Думаю, что startup тоже можно запретить - ограничение должно работать только после подключения к базе, то есть только в случае startup force, но надо проверить, не запоминает ли запреты после shutdown.
...
Рейтинг: 0 / 0
защита от shutdown
    #39543750
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderЗачем на сами сервера то класть? Работай со своей машины. А вообще если у вас нет своих скриптов....
Скрипты есть конечно, но именно sysdba операции положено выполнять с самого хоста, а операции не требующие sysdba с самого хоста выполнять не положено :)
Со своей машины это здорово конечно, но jump hosts непосредственно в датацентре пациента заметно улучшает отзывчивость. Опять же разные цвета приглашения командной строки для разных ДЦ (256 оттенков красного) и прод\непрод баз.
...
Рейтинг: 0 / 0
защита от shutdown
    #39544224
kvarz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм ... если резюмировать ...

варианты есть, но ни один из них не годится для / as sysdba :(
только административка. но человеческий фактор всегда остается.
или перепутал и забыл select name from v$database или не закрыл консоль после выполнения задачи или одно из двух.

в итоге остается только надеяться на сознательность и внимательность..
...
Рейтинг: 0 / 0
защита от shutdown
    #39544248
BadRobot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А использовать glogin.sql или login.sql - чтобы приглашение sqlplus поменять на типа -WARN - PROD -SID ?
и в приглашении видно будет. что за база вообще. Как один из вариантов вдобавок к раскраске, предлагаемой выше.
Правда не все символы можно ставить в приглашение sqlplus - у меня так как-то OEM отказался с базой работать из-за какого-то спецсимвола в glogin.sql
...
Рейтинг: 0 / 0
защита от shutdown
    #39544290
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BadRobotА использовать glogin.sqlДа, у меня помимо прочего в нем:
Код: plsql
1.
select * from global_name;
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / защита от shutdown
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]