Про Enterprise Manager, про его паки, про DBA и про меня

Тема требует продолжения. Меня всегда интересовало, как относятся DBA-профессионалы к использованию Enterprise Manager.

Я сам никогда не администрировал базы профессионально (под понятием профессионально я понимаю такой род деятельности, которым человек зарабатывает по крайней мере половину своих денег; в соответствии с этим определением мы, например, с Димой Волковым не являемся фотографами-профессионалами или водителями-профессионалами). Около семи-восьми лет назад я работал в компании Borlas техническим архитектором проекта внедрения OeBS. Проект только начал разворачиваться и со стороны заказчика еще не было DBA. Мне приходилось делать некоторые базовые операции, характерные для DBA. Для начала я написал select, который объединял 3-4 V$-вьюхи, чтобы посмотреть какие сейчас в базе блокировки. Потом я написал супер-крутой скрипт, чтобы убивать подвисшие сессии, по каким-то там двум id-шникам. Еще через некоторое время у меня возник уже набор различных стриптов. Я хранил их разложенными по папочкам, писал для каждого комментарии, чтобы не забыть, и каждый раз, когда встречалась какая-то уже изученная раньше ситуация, я лез в папочку со скриптами. Через пару месяцев я даже произвел на кого-то впечатление, быстро запустив скрипт из папки номер 16, который срубил пару повисших сессий. Я уже посчитал, что стал страшно крут, и уже хотел было записать в свое резюме отдельной строчкой что я DBA, пока жизнь не познакомила меня с настоящим DBA.

Через три месяца после старта проекта компания Shreya, где мы внедряли OeBS, смогла-таки позволить себе нанять профессионального DBA, который блестяще прошел мое супер-пупер-навороченное техническое интервью, в котором самыми каверзными были вопросы о максимальной длинне строки, которую без ошибки переваривает dbms_output.put_line в Oracle9i (ограничение, на которое я случайно сам налетел неделю назад) и задачка на составление select с конструкцией having. В то время только что лопнул "пузырь .com" и парень возвратился назад из США, потеряв там работу промышленного DBA. В общем, работу он получил и был включен в мою команду со стороны заказчика.

И тут я понял, насколько велика пропасть между мной и этим парнем. Какие тут скрипты? О чем Вы говорите? Этот человек мог хладнокровно разобраться, что именно надо делать, если база OeBS словила corruption. Тут скрипт и написать-то нельзя. Я тогда даже не представлял, что такое corruption и почему он может произойти. Его опыт был настолько велик, что миллион проблем, с которыми я боролся при помощи тряпки, палки и каких-то там скриптов исчезли сами собой. Это был человек другого уровня. Если бы я посвятил всю жизнь осваиванию технических аспектов работы СУБД Oracle, то после запуска нашего проекта в production, я мог бы претендовать максимум на ночные дежурства под присмотром этого парня на уровне если случилось это -- нажми на эту кнопку, а если вот это -- ничего не трогай и спрочно вызывай меня. Про строчку DBA в резюме пришлось забыть.

Да, к чему я это все рассказываю? Потому, что во время этого проекта я понял, что профессия DBA -- это очень широкий пласт опыта, плюс работа головой с тонкими вещами. Я понял, что такие "DBA" как я, не нужны рынку труда. Почему? Ответ: потому, что меня с моими скриптами можно заменить куском продвинутого программного обеспечения, а того, настоящего DBA, нельзя, потому, что есть множество операций, которые принципиально нельзя автоматизировать. Пример -- что делать с corruption? (уверен, что Дима Волков сможет продолжить этот список). В 2003 году выход Oracle 10g с его встроенной концепцией само-настраиваемости окончательно утвердил мой вывод: С Oracle 10g такие как я не нужны рынку -- вся статистика собирается специальным джобом, все работает в режиме auto, и т.п. Для того, чтобы продать себя и представлять ценность для работодателя, нужно быть по крайней мере умнее этого самого режима auto.

Теперь при чем тут Enterprise Manager с его паками? Потому, что этот продукт помогает профессиональному DBA сосредоточиться на той части своей карьеры, которая позволит повысить свою капитализацию на рынке труда (как Вы уже поняли, я обожаю писать про карьеру и меня все время сносит в эту сторону :^). Почему? Потому, что Enterprise Manager поможет DBA сосредоточиться на выработке опыта, который принципиально не может быть автоматизирован. DBA может и должен (!) делать множество технически сложных, но при этом рутинных операций в Enterprise Manager, который по сути представляет высокопараметризированную библиотеку все тех же скриптов. И наоборот, чем DBA будет меньше работать с Enterprise Manager, чем больше он будет придумывать свои скритпы, тем больше и больше он будет похож на меня :^)

Вы DBA-профессионал. Забудьте на минуту о лицензиях Oracle.
Вы используете Enterprise Manager?

(Дим, мы можем сделать на этом блоге опрос?)

P.S. А что же тот DBA? Он опять уехал в Северную Америку, но на этот раз в Канаду. Похоже, что навсегда. ...я иногда вспоминаю о нем...

10 комментариев:

  1. Анонимный8/9/09 8:54 AM

    >..я иногда вспоминаю о нем...
    прослезился :D

    ОтветитьУдалить
  2. Как любое очень удобное и гибкое средство, EM расхолаживает: действительно множество операций делаются парой кликов, но, тут-то кроется и "мина замедленного действия". EM Grid Control - отдельный продукт, за отдельные деньги. Хотя всё нижеследующее можно сказать и про EM db console, хоть это и упрощённый вариант средства управления кучей таргетов.
    Так вот, представьте себе, что у вас НЕТ интерфейса EM (не установлен, не открыт в fw, ненастроен, упал...)? И наступает ступор - ведь вы так долго, чтобы посмотреть Top Sessions, просто тыкали на Performance и Top Activity. Так что скрипты - это тоже хорошо. Сам ими очень редко пользуюсь, но знаю, что "тыл прикрыт на случай ядерной войны" :)
    В редки случая, кстати, EM может помочь и corruption победить (если у вас, как минимум, есть жизнеспособная политика резервного копирования и она жёстко соблюдается). А DBA нужен не только для сложных случаев, но и чтобы грамотно настроить управление в EM.
    Тут ещё мысль догнала: сам инструмент лишь только помогает, как везде - всё равно нужно понимать, что, как и чем нужно и можно решать проблему (куда ткнуть).
    Ну и как во всех сложных системах, а EM очень многообразен и сложен, в нём много тёмных мест и белых пятен, ну и багов :) Да пусть продлятся сроки техсаппорта!

    ОтветитьУдалить
  3. Анонимный8/9/09 12:05 PM

    "EM расхолаживает" -- очень неожиданный для меня поворот. Спасибо за развернутый ответ.

    ОтветитьУдалить
  4. Огромное удовольствие получил от прочитанного, особенно умиляет "при помощи тряпки, палки и каких-то там скриптов"!

    ОтветитьУдалить
  5. Анонимный9/9/09 12:23 AM

    Да EM неплохой инструмент, а для ряда операций очень даже эффективный. Но всетаки считаю что хороший DBA должен таки уметь проделывать основные операции EM'а в sqlplus без чтения документации, хорошо знать основы и достаточно хорошо ориентироваться в вьюхах описанных в Oracle Reference, а не форумах(sql.ru:).
    Про капитализацию. Если Вы знаете как что то сделать в EM, но не знаете как сделать то же в sqlplus высока ли ваша капитализация? мое мнение - нет. т.к. в новом проекте, у нового работодателя может его просто не быть. Ваша база может приказать долго жить, а у Вас EM не работает - то то начальство будет радо. И тут как сказал Ghost.DBA - ступор. А с sqlplus все не почем.
    Но на самом деле EMу быть и здравствовать! Таки уже не assembler, а уже Fortran - у меня такие ассоциации.

    ОтветитьУдалить
  6. Анонимный9/9/09 1:06 AM

    Если DBA не знает как делать операции в sql*plus, то грош ему цена. Я согласен в Вами.

    ОтветитьУдалить
  7. Анонимный13/9/09 3:43 PM

    Как же бывший одмин OEBS мог упустить в статье паки для EM, а именно Application Management Pack и Application Change Management Pack? =)

    ОтветитьУдалить
  8. Анонимный13/9/09 4:27 PM

    Описанный в статье чел был DBA без опыта OEBS. Администреж OEBS был изучен им по ходу дела. Мы с ним даже одними из первых научились клонировать OEBS (в ходу была весия 11.5.6 с девяточной базой). Для этого мною был написан скрипт dbgrep (горжусь :^), который искал подстроку по всем объетам базы. Ну как еще было понять куда OEBS записывает всяческие настройки и т.п.? Официальной инструкции по клонированию не было...

    Вы про паки спрашивали. Да какие паки, о чем Вы говорите? :^) Про паки мы тогда ничего и не знали. Это семь лет назад было.

    ОтветитьУдалить
  9. Анонимный28/9/09 1:58 PM

    Сергей, может бы выложите скрипт dbgrep в свободный доступ - полезная же вещь, не только для OEBS.

    ОтветитьУдалить
  10. :-)
    Интересный пост.
    В версии 2 OEM+Packs были офигенно чудесным средством. Потом оне стало требовать management server и это было плохо. Потом оно перестало требовать manager server (алилуйя!), а в 9-й версии OEM был практически идеален. В нем были все паки, можно было работать с базой напрямую, java была клиентская.
    В 10 версии убрали паки, стало неинтересно. А теперь, с 11 версией ОЕМ весь в Web'е.
    Что ж, посмотрев на 10-ю, на 11-ю версию, я могу от себя сказать следующее.
    Да, ОЕМ как хороший боевой топор, может освободить от кучи рутинных операций. Но это вызывает необходимость знать "топор", а не обязательно то, на чем "топор" основан. А от "основания топора", то есть внутренних скриптов (кстати, их так и пишут на TCLSH?), и самой базы отдаляться ни в коем случае нельзя.
    Потому я, хоть и пользуюсь ОЕМом изредка, но предпочитаю пользоваться скриптами или придумывать что-то свое.
    Опять же лишний раз влезешь в документацию - лишний раз узнаешь что-нибудь закавыристое новое, вроде назначения столбцов opt_cmpr_count или pre_rows из представления index_stats. Узнал после того, как написал собственный скрипт.
    В общем, "на войне все средства хороши". И набор "боевых скриптов", которые должны быть под рукой у DBA, и OEM, в котором можно замкнуть event'ы на job'ы/скрипты и получить практически самообслуживающуюся базу данных.

    Кстати, забавный момент.
    ОЕМ конечно хорош, но тем не менее. Видел я как работают его паки по диагностике. Вызвали меня как-то, спрашивают "тут разработчики хотят новую железку, говорят что оракл так советует". Приезжаю, смотрю. Показывают ОЕМ, которому не хватает db block buffers и он говорит "больше, больше памяти".
    Пришлось взять в руки awrrpt, найти несколько cartesian join этих разработчиков, написать об этом отчет. Им там сдеали внушение и вот уже новую железку не надо, и даже ОЕМ этого не советует.

    Всё должно быть использовано вовремя и по назначению. Наличие ОЕМа ни за что не должно оправдывать отсутствие головы на плечах. :)

    p.s. Всё вышесказанное - наглая и самоуверенная ИМХА. :) Прошу прощения если слишком длинно.

    ОтветитьУдалить