oracle. my game is over !

Конечно сумасшествие последнего года не могло остаться безнаказанным.  И не осталось - я больше не сотрудник Oracle Corp :)

Английский джентльмен покинул этот корабль весьма вовремя. Настала и моя очередь.  К сожалению, больше  не будет замечательных семинаров, красных и черных маек, писем-заявок. Я ведь прочитал и ответил на каждую заявку !  Больше нельзя приходить в наших майках на официальные мероприятия Oracle (я серьезно, не рекомендую).


Короткий отчет, что удалось сделать за последние 3 года:

- Около 1000 человек посетили наши семинары DBUG, DBOD, RACDD4D, RAC DD4DBA.

- Формат событий был полностью изменен - от простого перевода английских презентаций  к созданию собственного контента и демонстраций. Я помню случай, когда у меня попросили  перевести мою презентацию по Exadata на английский, поскольку люди посчитали ее более достойной чем на o.com. Презентации Игоря вообще использовали как инструкции в работе ! Пять лет назад я слушал презентацию по кластеру еще в старом здании на Саввинской набережной. Ничего кроме Power Point тогда не показывали....

- К нам стали приходить и рассказывать о своем опыте простые администраторы. Иногда положительном, иногда отрицательном. Мы не согласовывали презентации, разрешали говорить все что захочется !  Как оказалось позже, за выступление на семинаре полагался ужин с Tom Kyte :)  Спасибо Тому и всем нашим спикерам !

- К нам приезжали  и выступали Robert Pastijn, Mike Dietrich, Ursula Koski и Tammy Bednar,  Peter Kestner

- Впервые в истории московского офиса нам удалось выиграть c техническим семинаром европейскую награду за инновации  - EMEA Excellence Award

- Впервые в истории московского офиса его сотрудники (я и Игорь Мельников) выехали читать семинар DD4D в Восточную Европу и даже  в Австрию, на английском языке.  Никогда не забуду, что в Австрии нам стучали кулаками по столу - оказывается высшая мера одобрения в Австрийских учебных заведениях !

-  Создана библиотека брошюр Oracle на русском языке

- Велся календарь технологических событий Oracle, всегда можно было заранее узнать о событии (он справа в этом блоге).

- Мы  с Даниловым даже ухитрились вмешаться в святая святых - программу секции Database Oracle Day (по старому Tech Forum). И 2 последних Oracle Day были интересными...

- По мере сил поддерживалась группа пользователей Oracle - RuOUG.

- Я единственный из сотрудников Oracle CIS (насколько я знаю) выступал на событии Европейской группы пользователей - вместе с ребятами из RuOUG мы ездили на событие EMEA Harmony,  организованное  финской группой пользователей - ougf.fi

- И наконец этот блог. 700 сообщений на данный момент.  Да мне его самому интересно читать :))))))  Я достаточно часто отвечаю на вопросы ссылками на блог. Это просто рабочий инструмент. Блог кстати остается. Наша, теперь уже виртуальная команда решила, что он нужен людям.


Огромное Вам спасибо за то, что вы приходили к нам на семинары ! Спасибо за ваши отзывы, советы и даже претензии ! Я лично  прочитал каждый отзыв.  Вы научили делать нас семинары. Спасибо !  Мы часто сажали Вас в душное помещение, вешали низко проектор, не давали булочек и сока. Простите меня за это !


Читать дальше...

110 по Фаренгейту


Москва, наше время, температурный датчик в машине, температура за бортом,  на ходу. 


Читать дальше...

Настройка SAP как по нотам


Несколько важных нот, чтобы правильно сыграть мелодию SAP on Oracle:

  1. SAP & Oracle 11gR2  ноты 1398634 and 1434131.
  2. SAP & RAC: нота 1398634
  3. Сжатие данных в SAP: нота 1109743
  4. Секционирование данных в SAP: 722188 and 742243
  5. Параллельное выполнение в SAP: 651060

Остальные правильные ноты и рекомендации вы найдете в материалах семинара "Как улучшить с помощью СУБД Oracle работу SAP".


Читать дальше...

Oracle Restart on Windows Platform

Несколько уроков, полученных при инсталляции Oracle Restart на платформе Windows:

- Установку следует производить с диска Grid Infrastructure (GI), но при установке следует выбрать Grid Infrastacture for standalone server.

- При установке от вас потребуется сконфигурировать группу ASM, а это значит что необходимо специальным образом подготовить raw device. Лучше всего прочитать стр. 12 . из этого документа УСТАНОВКА ORACLE DATABASE 10.2 RAC НА ПЛАТФОРМЕ WINDOWS 2003 SERVER R2 SE X64

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

- Инсталлятор БД сам обнаружил, что у нас стоит GI и сам зарегистрировал нашу БД в ней.

- После того как мы убили процессы oracle.exe и получили в sqlplus "End of communication channel" наша БД магическим образом ожили  снова.  Эта магия обеспечивается c помощью процессов Clusterware. Строго говоря защищается не только БД, но и ASM и listener.

Что интересно: все выглядит так, как будто у нас RAC, только одноузловой! :-)
Вот вывод команды crs_stat -t
C:\>crs_stat -t
Name Type Target State Host
-----------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE isvru2
ora....ER.lsnr ora....er.type ONLINE ONLINE isvru2
ora.asm ora.asm.type ONLINE ONLINE isvru2
ora.cssd ora.cssd.type ONLINE ONLINE isvru2
ora.orcl.db ora....se.type ONLINE ONLINE isvru2

Причем Windows-сервисы листенера и экземпляра СУБД теперь НЕ стартуют автоматически (стоят в Manual), - все верно: теперь их запускает Clusterware (причем в нужном порядке !).


Обратите ваше внимание, что теперь вы управляете вашей БД с помощью настоящих кластерных команд: srvctl, crs_stat и пр. Таким образом, после опыта работы с Oracle Restart переезд в настоящий кластер для вас, как для администратора, будет практически прозрачен. А разработчики могут начать потихоньку модифицировать свое приложение, чтобы научится обрабатывать FAN сообщения.

Правда как я писал ранее, не все еще гладко при переходе от Oracle Restart к настоящему RAC - но про крайне мере этот процесс описан в документации.

Update 1
Более внимательно приглядевшись  к нашему локальному кластеру,  я увидел, что:

Вывод из файла:
%CRS_HOME%\cfgtoollogs\crsconfig\roothas.log

2010-07-21 15:27:04: OCR locations = D:\oracle\grid\cdata\localhost\local.ocr
2010-07-21 15:27:04: VOTING_DISKS=

т.е. voting дисков нет вообще (ну хорошо, голосовать не с кем), а ocr лежит локально. Тогда вообще не понятно, зачем нужен ASM экземпляр, на нем вообще ничего нет (если вы не разместили БД).

Update 2
Clusterware оказывалась какая-то урезанная - например не все ключи srvctl работают. Теперь потихоньку понятно становиться, почему требуется переставлять clusterware при переходе к настоящему кластеру.


Читать дальше...

New perfomance whitepaper

Крайне рекомендую к использованию:  Oracle Database Auditing Performance Guidelines. Авторы сделали несколько не очень сложных тестов и измерили влияние включения аудита на производительность и доп. загрузку CPU.  Так из whitepaper видно, что включение DB, EXTENDED   весьма дорогое удовольствие и вряд ли применимо для production БД как постоянное решение.

Update 1. Не прошло и двух лет, как я узнал, что оказывается можно совершенно бесплатно ("This feature does not require the Oracle Advanced Security Option") сохранять зашифрованные пароли, для того чтобы не приходилось набивать  их в коде или  plain text файлах для batch задач.


Читать дальше...

money-money-money, must be funny..

Update 1: По результатам ответов: в/на Украину ни ногой, наш выбор - Чукотка.

Сегодня Business FM рекламировал вот эту книгу - "Почему умные люди не умеют управлять своими деньгами" (Я к сожалению не читал еще эту книгу). Но реклама заставила меня задуматься, а сколько получают умные люди, и есть ли чем управлять  ?

Вот что думаю я:  данные приводятся по Москве, рубли в месяц, зарплата  gross,  на основе преимущественно слухов и недостоверной информации:

- Хороший PL/SQL программист, 3-5 лет опыта, возможно даже и team-lead небольшой команды -  80,000
- Oracle DBA,  3-5 лет опыта, умеет все, или почти все - 100,000
- Oracle DBA, "уже забыл сколько лет", Unix, сертификаты, умеет все - 120,000
- Системный архитектор, кроме Oracle еще неплохо знает что-нибудь еще (Veritas, Hi-end железо большой тройки, дисковые массивы etc) - 150,000

Насколько я понимаю, дальше для технического человека некоторый тупик. Следует переходит либо в большие начальники, либо (не приведи господи) в продавцы.

Кстати, в  жизни в двух случаях  сталкиваешь с проблемами при поиске работы - когда не умеешь ничего и когда умеешь все :) В первом никто не хочет тебя брать, во втором - никто не хочет тебе платить :(

Еще раз повторю : это мои данные, по Москве. Даже в Питере может быть существенно ниже, уж не говоря про остальное замкадье. Но один доход ни о чем не говорит, нужно всегда  учитывать расходы. Например, когда я спросил  "а  сколько получает DBA в Штатах?",  меня прежде всего спросили в каком именно штате мне интересно, а не какой experience я подразумеваю.

Буду благодарен, если оставите свою планку, анонимно, указав регион. Лондонщина также приветствуется :)

PS Помните, если работа не интересна, ее не смогут Вам компенсировать никакие деньги...


Читать дальше...

Oracle Grid as utility

Навигационная программа iGO помимо многих разных достоинств обладает и следующей: какой бы вы не выбрали масштаб просмотра карты, при подъезде к повороту масштаб увеличивается, чтобы детально Вам показать куда следует повернуть. Затем масштаб возвращается на прежнюю установку. Должен доложить, что картинка "до следующего поворота 220 км" смотрится феерично.

Простым администраторам БД (да и вообще всем нормальным людям) конечно хотелось бы подобной простой вещи - если что-то случилось с БД она должна перестартовать автоматически, а если что-то случилось с сервером, БД должна перестартовать на другом сервере.

Я попробую показать как использовать технологии Oracle Oracle VM и Clusterware для достижения этой цели. Прелесть в том, что при эти технологии бесплатны, правда при условии соблюдения некоторых условий. Также следует помнить, что Oracle VM поддерживает только x86 и SPARC. Конечно, для x86 мы будем использовать только паравиртуализировный режим, а значит только ОС Linux & Windows.

Вариант 1. У нас очень маленькая компания, всего один сервер. В этом случае нам поможет осуществить перезапуск БД технология Oracle Restart.

Нужна ли нам тут виртуализация? По большому счету, вроде бы нет. С другой стороны если у нас скажем 2-х сокетный сервер, а для нашей задачи достаточно 1 сокета, то с помощью Oracle VM можно сэкономить на лицензии, официально привязав нашу виртуальную машину к одному сокету. Конечно, за все приходится платить, и с Oracle VM это некоторая потеря в производительности.


Вариант 2. Наша компания хоть и небольшая, но у нас есть несколько серверов, правда до выделенного дискового массива мы еще не доросли. Конечно же, мы можем поступить как и в предыдущем случае, но как же организовать переезд БД между нашими серверами? Без виртуализации нам тут не обойтись..

Вариант 2a. Использовать Oracle VM и возможность Live Migration. Мы устанавливаем в виртуальную машину Oracle Restart, который помогает нам рестартовать экземпляр, и также имеем возможность мягкого перевода нашей задачи с узла на узел. Но вот, что делать если наш сервер отказал и диски стали недоступны?




Вариант 2b. Используем ASM. Поскольку у нас есть только внутренние диски наших серверов, прежде всего нам нужно организовать из них общее дисковое пространство, да и еще обеспечить зеркалирование между ними. В этом нам может помочь технологий iSCSI и Oracle ASM. Коротко идея заключается в следующем: На каждый из серверов мы устанавливаем виртуальный машину iSCSI target (например OpenFiler, iSCSI Enterprise) или даже вообще используем встроенный в RHEL 5 пакет. Замечу, что это очень разные по возможностям продукты, будьте внимательны. Теперь мы готовы к тому чтобы развернуть Oracle Clusterware + ASM поверх этой инфраструктуры. Конечно мы делаем это все в виртуальных машинах. С помощью ASM мы легко соберем нужное нам число дисковых групп, причем обеспечим зеркалирование информации между отдельными устройствами, которые есть просто встроенные диски наших серверов. Остается добиться того, чтобы наши БД переезжали - воспользуемся Oracle Clusterware!


Вариант 2c. Это развитие предыдущей идеи. Только в дополнение, мы установим RAС! Технически это не отличается от предыдущего варианта, за там исключением, что мы просто устанавливаем RAC, а разводим нагрузку различных БД с помощью сервисов. Про сервисы вы можете прочитать в материалах курса RAC DD4D. Как построить RAC в окружении Oracle VM. Также не стоит забывать, что RAC бесплатно входит в редакцию Standard Edition (SE). Правда и то, что SE имеет ограничение - ее можно использовать на серверах до 4-х сокетов. Тоже самое ограничение действует для нашего кластера на виртуальных машинах. Это означает (к сожалению это сложно подтвердить ссылкой, но это так), что мы можем взять и построить кластер, скажем на 4-х 4 сокетных серверах, пока наша кластерная БД использует не более 4-х сокетов. Потом поставить еще одну кластерную БД...



Вариант 3. Небольшая компания, несколько серверов, в каждом из которых по несколько сокетов, и есть по крайне мере один дисковый массив.

Вариант 3а. Использовать Oracle VM, OCFS и возможность live migration. В принципе, поскольку тут выделенный массив, то в случае гибели сервера наша виртуализированная БД вполне сможет запуститься на другом сервере.

Вариант 3b. Все тоже самое что и в вариантах 2b & 2c но только iSCSI теперь приходит к нам централизованно.


В принципе мы уже рассмотрели возможные варианты построения системы. Стоит упомянуть, что даже при условии построения системы на основе Standard Edition у нас сохраняется возможность построить разнесенный (extended) кластер, при условии сохранения всех ограничений SE. Конечно же не забудьте в случае разнесенного кластера добавить 3-ий voting disk, например использую NFS.




Вместо заключения: Даже если Вы приобрели только редакцию Standard Edition, мы можете совершенно бесплатно построить свой Grid использую бесплатные технологии Oracle и заставить его быть Вам полезным. *испуганно* Надеюсь все знают что Observer & DataGuard (автоматическая передача логов на standby) это возможности только Enterprise Edition ?

Ссылки:
- Использованы картинки из презентации Алексея Зиновьева, Яндекс.  Скачать архив с презентацией можно здесь.
- Data Centers with Xen
- Oracle VM Undergroud


Читать дальше...

Oracle Application Express 4.0 Released

Наконец-то свершилось то, чего прогрессивная оракловая общественность долго ждала: вышел Oracle APEX 4.0 !.

Перейдя по вышеуказанной ссылке, вы можете посмотреть на список новых возможностей, и, конечно-же, скачать APEX 4.0.

Мне часто приходиться общаться с заказчиками и партнерами по поводу APEX, поэтому ниже я решил собрать небольшой FAQ.

1) Какая редакция СУБД Oracle Database необходима для запуска Oracle APEX 4.0 ?
Oracle Application Express 4.0 бесплатно поставляется для всех редакций СУБД Oracle Database (кроме Personal Edition): SE1, SE, EE, и XE. Версия СУБД должна быть не ниже 10.2.0.3 (это не относится к XE).

2) Говорят, что APEX предназначен для сайтов c небольшим числом пользователей (не более 10-20), иначе он начинает "тормозить" ...
Видимо Вы используете для генерации web-страниц встроенный в СУБД HTTP-сервер (PL/SQL Embedded Gateway). Для серьезных промышленных сайтов рекомендуется использовать Oracle HTTP Server, либо APEX Listener
Вариант использования PL/SQL Embedded Gateway подходит для случая когда ваше APEX-приложение будут использовать небольшое число пользователей (10-20), либо производительность неявляется критичной. При использовании нужно не забыть увеличить значениме параметра СУБД SHARED_SERVERS

Архитектурно "движок" APEX реализован в виде набора PL/SQL-процедур и таблиц метаданных, поэтому масштабируемость APEX упирается в возможности сервера, на котором установлена СУБД Oracle Database.
Самой корпорацией Oracle, APEX позиционируется на нишу небольших и средних приложений ( c числом пользователей не более 300-500). Для более крупных систем рекомендуется использовать 3-х звенную архитектуру с сервером приложений. Хотя, конечно, никто не мешает успешно эксплуатировать APEX и на большем числе пользователей, и такие примеры есть, - главное чтобы эту нагрузку "держал" сервер СУБД.
Рекомендую к прочтению перевод на русский язык, выполненный Евгением Тимошининым, хорошей статьи про оптимизации производительности APEX - APEX - Sizing Up Performance


3) Какое максимальное число одновременно работающих пользователей может "выдержать" APEX ?
Вопрос перекликается с предыдущим . Все зависит от возможностей сервера СУБД. Для высоконагруженных приложений можно порекомендовать вынос HTTP-сервера на отдельную машину.

4) Мне не нравятся визуальные темы дизайнов страниц предлагаемых в APEX.
В APEX вы имеете возможность полностью переопределить темы страниц (themes), взяв за основу существующий шаблон, либо создав его под себя. Далее вы можете использовать созданные шаблоны страниц (page templates) в многих своих приложениях.

5) У нас имеется 2-х звенное приложение (СУБД Oracle + толстый GUI-клиент), - как быстро перенести его в APEX ?
К сожалению, простого ответа на этот вопрос нет. Проблема связана даже не с APEX-ом как таковым, а с методами разработки и выполнения web-приложений, которые коренным образом различаются от соответствующих парадигм в GUI-приложениях. Если вы имеете GUI-клиент с мощным развитым интерфейсом, то потребуется его редизайн при переносе в среду Web.
Возможно хорошей идеей для вас станет вариант одновременного развития и сопровождения как GUI-клиента (для администраторов и advanced-пользователей), так и web-клиента реализованного на APEX (для обычных пользователей).

Для GUI-приложений, созданных в Oracle Forms, в составе APEX есть визард для автоматической конвертации приложения (вернее его генерации в APEX на основе определений в формсах). Но полной автоматизации конечно нет: как я уже говорил: сильно различаются философия выполнения GUI и Web-приложений.

Самое главное: при переходе в APEX ваи НЕ нужно переписывать серверную PL/SQL-логику приложения !

6) Назовите примеры сайтов, созданных на основе Oracle APEX, и желательно в России.

Много англоязычных сайтов, реализованных на APEX, приведены на сайте OTN.
Что касается российских сайтов, вот что мне удалось найти:
www.cargotracking.ru
www.sbconsulting.ru
www.glonass-ianc.rsa.ru

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


Читать дальше...