1Z0-048

Удалось сдать
1Z0-048 Oracle Database 10g R2: Real Application Clusters for Administrators, он же Oracle RAC Certified Expert.

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

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

По 11g такого экзамена пока нет, и когда будет мне не удалось узнать.

Из смешного - за весь экзамен был только 1 вопрос относящийся к работе приложений в RAC - с какой опцией следует создавать sequence. Если Вы ходили на наш семинар RACDD4D, то промахнуться вам не удасться :)

PS Интересно, кто нибудь сможет сдать лучше чем я ? :)


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

Backup FRA

Конечно, после того, как мы выполнили резервное копирование нашей БД во FRA область, настроили retention policy, хочется время от времени сделать и backup FRA. Вот тут незадача, для команды backup recovery area нужна обязательно ленточка, т.е. sbt.
Но у нас есть большой и дешевый (пусть и медленный ) массив ! Неужели ленточка обязательная ?

Выход есть, использовать интерфейс oracle.disksbt.

run {
allocate channel dev1 type disk sbt
parms='SBT_LIBRARY=oracle.disksbt, ENV=(BACKUP_DIR=)';
backup recovery area;
}

Но в документации написано, что он предоставляется только для тестовых целей !
Но благодаря "Backing up Flash Recovery Area to Disk Location Doc ID: Note:420290.1" это теперь поддерживаемое решение !


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

Что нам стоит RAC построить ?

Давайте посмотрим, что такое проект по построению простой системы на основе Oracle RAC.

Я хочу обратить Ваше внимание, что идет речь именно про проект. Потому что, просто установка - это 3-4 часа. Но установка и проект - две большие разницы.

Предположим, у нас есть администратор, хороший такой, лет 5 проработавший с нашей ОС.
1) 5 дней обучения на курсах, ~ 25,000 рублей, + еще идет зарплата.

2) Планируем архитектуру. Нужно выбрать железо, написать администраторам ОС & железа что и как собрать. 3 дня.

3) Убедиться что все собрали верно, ставим CRS & Oracle Software. Патчим все установленное пару раз. Долго выбираемся из пойманных багов. 5 дней.

4) Делаем тесты на отказоусточивость. Проверяем TAF, FAN. Небольшой тест на нагрузку. 5 дней.

5) Документируем все собранное и отлаженное. 3 дня.

6) Делаем backup & документируем. 4 дня.

7) Выдыхаем, переносим БД, изучаем животный мир. Бесконечно :)


Теперь считаем, собственно установка и документирование: 5+ 3 + 5 +5 + 3 + 4 = 25 рабочих дней.

Можете сами посчитать общую стоимость проекта, зная зарплату хорошего администратора. А нам нужен хороший, он ведь сходил на курсы, где ставил RAC на Linux, все запомнил сразу, смог разобраться с багами на своей ОС и их победить. Он разбирается в сертификации, пишет хорошие документы, может рассказать начальству, что делать дальше (ставить Standby) и зачем... И все это одновременно с основной деятельностью, кто же его на месяц освободит-то.

Оно Вам надо ? Неделями на SQL.ru раздаются вопли "у меня не ставится...". Какой там FAN/TAF/BACKUP. Просто поставить...

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


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

Oracle Certification

Обратите внимание, появилось два новых уровня сертификации: the Oracle Database 11g Database Administrator Certified Associate (OCA) and Oracle Database 11g Database Administra-tor Certified Professional (OCP). Для сдачи OCA не требуется прохождения курсов.

Оба экзамена сейчас есть в beta режиме и доступны до
30 июня со значительной скидкой ($50 USD).

Подробности по ссылке:
Oracle Certification E-Magazine - April 2008


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

Transport Tablespaces

Две отличные статьи по миграции, используя Transport Tablespaces

Platform Migration using Transportable Tablespaces
Database Upgrade using Transportable Tablespaces


Однако есть и проблема: документация по 11g не предлагает использование TT, как возможный способ миграции. Следовательно не понятно, поддерживается ли такой способ миграции, или нет.


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

Oracle Database Real Application Testing Downloads

По ссылке вы найдете документацию на опцию Real application testing и 2 sql файла которые включают/выключают параметр PRE_11G_ENABLE_CAPTURE. Помните, что работает это пока только в 10.2.0.4, только capture, и это платная опция.

Oracle Database Real Application Testing Downloads


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

RAC DD4D news

Мы провели очередной семинар на Урале, в Екатеринбургe. Это не первый раз, когда мы проводим его вне Москвы, мы уже были, скажем, в Новосибирске, и даже не один раз, но с предыдущей версией этого семинара.

В Екатеринбурге было очень интересное событие, так как был немного изменен формат.
Одновременно с нами выступали разработчики ПО и его счастливые пользователи. Разработчики рассказывали о своих рекомендациях, а пользователи о своем опыте. Было видно, какие рекомендации применяются, какие нет и почему. Реальный опыт эксплуатации - бесценен. Еще раз, для меня это было очень полезное мероприятие.

Тем временем, не выдержав напора Сергея Данилова (aka Mr. Grid ) нам покорилась Восточная Европа & CIS (EE & CIS). Мы получили Innovation Award за наш семинар, и на картинке ниже Вы видете кусочек e-mail с сообщением об этом. Насколько я знаю, это первый раз в истории русского офиса Oracle, когда была получена награда за инновацию на Европейском уровне.





Мы не собираемся останавливаться, на достигнутом, понимая что в некотором смысле это аванс нам. Если хватит времени, осенью мы планируем расширить семинар на 3 дня, добавив лабораторные работы (!). Параллельно идет разработка и семинара для администраторов - как я уже писал, он не будет похож на курс OU, что сделать очень непросто. Благодаря пожеланиям наших слушателей идея семинара потихоньку складывается.


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

Oracle Clusterware + HP Service Guard

Если Oracle Clusterware используется с вендорским clusterware (в данном случае HP Service Guard), то параметр css misscount автоматически устанавливается в 600 сек, давая возможность разрешить конфликт вендорскому clusterware.

В связи с этим, может возникнуть ситуация, когда скажем в качестве интерконнекта используется 2 физических интерфейса. Потеря одного динка для вендорского clusterware не является критическим событием - второй линк работает. Но, если по вышедшему из строя линку передавался траффик cache fusion то (я так думаю) что весь кластер встает (больше блоки не передаются между узлами). Если передавался траффик css - то все "встает" на 600 сек. В В последнем случае узел отправляется в перезагрузку.

HP предлагает решение этой проблемы: Cluster Communication Network
Monitoring
. Коротко, насколько я его понял - следует создать отдельную пару интерфейсов для траффика RAC + clusterware. В случае выхода из строя одной платы, все будет продолжать работать для RAC прозрачно. Также даются рекомендации по изменению параметров css, чтобы не ждать пресловутые 600 сек. Я думаю, что наверно можно настроить также триггер, чтобы разрешать ситуацию с RAC в случае потери обоих линков.

Несмотря на то, что в параметре cluster_interconnects можно указать несколько интерфейсов, кажется это не работает. Это даже указывается в Note:151051.1.


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

Семинар "RAC для разработчиков"


Прошел очередной семинар "RAC для разработчиков". 69 слушателей. Кондиционер не справлялся :( Аудитория подобралась более сдержанная чем в первый раз. Мне кажется засмеялись первый раз только в середине 2 дня :). По прежнему высокий процент администраторов :)

Материалы семинара для слушателей доступны по следующей ссылке. Для слушателей предыдущего семинара эти материлы также доступны. По сравнению с предыдущим семинаром мы изменили примерно 20% содержания.

Дмитрий Кучугуров (Компания СБСОФТ) рассказал о проведенном совместно с Oracle тестировании в среде RAC своего программного продукта. Производительность в кластере оказалась даже выше чем в моноблоке (!). Со стороны Oracle на платформе Linux PPC участвовал я, на платформе HP-UX - Владимир Демкин.

В кулуарах, один из слушателей, рассказал, что удалось подвинуть начальство в сторону проекта по RAC, использовав мой пост RAC ЧАВО. Компания - один из крупнейших ISV в стране. Так что рекомендую Вам перечитать этот пост.

Многие по прежнему обижаются, что их "не взяли". Действительно у нас большой wait-list. Мы последовательно выбираем из него. Это справедливо. Можно повысить свои шансы на попадание не жалобами и обидами, а написанием хорошего документа, почему мы должны Вас пригласить вне очереди. Документ должен содержать описание компании, проекта, стоимости лицензий, сроков внедрения. Документ должен быть завизирован, как минимум руководством IT вашей компании. Думаю, что за возможность присутсвия на 2-х дневном бесплатном семинаре стоит потратить час времени. Присылать стоит Сергею Данилову (Sergey.Danilov) с копией мне (Dmitry.Volkov).

В противном случае просто ожидайте - все будет.

Поступило много просьб провести провести семинар по RAC для администраторов.
Я думаю сейчас над технической возможностью. Дело в том, что требуется найти достаточно мощные компьютеры. По результатам голосования в зале сошлись, что платформа Linux устроит всех. Приоритет безусловно опять получат сотрудники тех компаний, которые пришлют вышеописанный документ.

Несколько фотографий с семинара.


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

Материалы совместного события HP-Oracle

Архив можно скачать здесь. 3 из 4-ч презентаций публикуются с разрешения Ребекки Шлехт (Rebecca Schlecht), EMEA HP/Oracle CTC. Ребекка оказалась автором (!) cookbook'а с сайта http://www.hporaclectc.com. Ребекка технически очень грамотный специалист, как по Oracle RAC, так и по конфигурации RAC на платформе HP. Ее презентации мне очень понравились, рекомендую.
PS
Rebecca, thank you very much for the excellent technical presentation !

Update 1.
Презентация Николая Бабичева, в том числе про особенности работы Oracle на NUMA.


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

Aнонс апрельских мероприятий

Апрель выдался достаточно насыщенным на события, посвященные Oracle RAC.

9 апреля, в Москве, проводится совместное событие HP-Oracle, посвещенное особенностям построения системы высокой надежности на платформе HP. Будет моя презентация "RAC internals" и очень интересная презентация живой системы, подготовленная совместно HP+Oracle (Владимир Демкин и Николай Бабичев). Организует семинар HP.

10-11 апреля проводится семинар RAC DD4D, в Москве, в отеле Катерина. Мы немного изменим семинар, будет пара выступлений по новым возможностям 11g. Будет выступление одного из партнеров, который тестировал свое приложение с нашим участием - результаты тестирования вас приятно удивят ! Слушатели, ранее посетившие наш семинар получат доступ к новым презентациям. Организует семинар партнерский отдел Oracle.

15-16-17 будет проведен выездной семинар в Екатеринбурге. Формат семинара - специальное событие для одного из заказчиков, боюсь попасть на него не получится. Но никто не мешает Вам после семинара угостить команду Oracle-Rdtex пивом :).


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

Clusterware Reference

У нас есть заказчик, который построил кластер на основе Oracle Clusterware из 40 узлов и собирается довести число узлов до 48. Это production система.

- 10gR2
- RHAS 3.0 (?? заказчик сказал что именно эта верися Linux им нравится :)
- Типичный узел кластера это 2 Intel Xeon EM64T 3.6 Hgz, 8 Gb памяти, 2 Internal disks, mirrored, 2x2 Gb QLogic HBA

Объем информации - несколько Tb.

В этом кластере живет нескольк баз данных - от 2-х до 8 узлов, но все они используют одни и те же ASM группы.

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

ASM rebalancing нормально работает только при числе активных узлов < 14 из-за больщого возникающего траффика сообщений между узлами. В 11g этот момент исправили.

Интересно конечно же архитектурное решение - не одна огромная БД с сервисами, как предполагает класстическая литература - а несколько БД под управлением 1 Clusterware.

В случае необходимость в online добавить узел конкретной БД, необходлимо выполнить несколько несложных шагов -
- зарегистрировать БД на узле, listener (если не было)
- поправить *.remote_listeners
- Создать temp & undo, возможно новый thread
- ?? (что-то я пропустил)

Утверждают, что даже dbca с этим справляется :)


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

CVU Download Homepage

Я только что заметил, что появилась CVU Download Homepage. Несомненно очень правильное решение выделить обновление этой утилиты от основного дистрибуита. Дело в том, что дистрибутив Clusterware не успевает за новыми версиями ОС. Возникает ситуация, когда мы ставим Clusterware на ОС, о которой Clusterware "не знает". Нам приходится пропускать все проверки. Конечно же, иметь возможность в такой ситуации обновить CVU, очень полезна.


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

Изменения в прайс-листе

В прайс-листе появилась новая опция Enterprise Edition "In-Memory Database Cache" которая объединяет:

  • TimesTen In-Memory Database
  • Replication TimesTen to TimesTen option
  • Cache Connect to Oracle
Лицензируется опция по метрике Processors, независимо от способа лицензирования Database (Named User or Processors). Стоимость составляет $36K за 1 Processor. Также убрана зависимость стоимости от размера кэша. Как отдельный продукт TimesTen также оставлена, что позволяет ее использовать например со Standard Edition (?).


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

11g R2 Grid new features







Некоторые новости с нашего Grid Architect форума.

В Grid 2.0 нас ожидает как минимум два больших новшества:

- Application QoS Management
- ASM Cluster File System









Application QoS Management


На данный момент в 11gR1 есть все необходимое для того чтобы организовать управление качеством сервиса для приложения. Можно определять сервисы, можно их поднимать и опускать на различных узлах, для сервисов считается service time, можно определять максимальное потребление ресурсов с . Единственное чего пока нет - это возможности автоматически поднять сервис на новом узле, если уже выделенных не хватает. Пока есть возможность сделать это руками. Собираются сделать возможность автоматического управления этим процессом. Вам предстоит определить пул узлов кластера, классы производительности и политики перераспределения ресурсов - а соблюдаться эти политики будут автоматически. Вроде бы речь идет даже о том, чтобы в паре application server - rac можно было бы перебрасывать узлы с задачи на задачу. Тут вопрос как быть с лицензированием :)

ASM Cluster File System

Да, именно так - не больше и не меньше. Поверх ASM групп можно будет создавать обычную файловую систему. В дополнение можно будет делать до 64 RO snapshot's. Предназначение - да какое хотите, хоть backup хранить, хоть картинки. Файлы БД рекомендуется хранить все-таки прямо на ASM. Работать это будет сначала для Linux RHAS5 & OEL5 только, Windows, Solaris, HP.

OCFS2 никуда не девается и будет продолжать развиваться как open source для Linux.

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

Сертификация RAC под Oracle VM сейчас задерживается, так как все заняты подготовкой 11g R2. Таким образом, ее можно ожидать не ранее осени 2008 года.

И наконец когда же выйдет сама 11g R2 ? Опять таки, скорее всего будет объявлена на Open World этой осенью, а выход скорее всего будет уже после нового года.
PS
На фотографии - прекрасная Вена, встретившая нас солнцем и температурой +20.


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

11g Standby Database

В 11g два параметра относящиеся к Standby стали deprecated, т.е. их можно поставить, но они будут игнорироваться, а при старте БД выдаст предупреждение.

  • LOG_ARCHIVE_LOCAL_FIST. Этот параметр позволял беспечить запись архивного журнала на локальный диск и только потом передевать его на standby. Начиная с 10g такое поведение обеспечивается по умолчанию.
  • STANDBY_ARCHIVE_DEST. Этот параметр установливал директорию, куда следует помещать архивные логи на standby хосте. Мне не удалось найти в документации четких указаний, на что его необходимо поменять. Кажется следует использовать новый тег VALID_FOR
    LOG_ARCHIVE_DEST_3='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR(STANDBY_LOGFILE, STANDBY_ROLE'
    С другой стороны если Вы используете DB_RECOVERY_FILE_DEST, Вам досточно на standby поменять этот параметр и логи будут попадать туда, используя LOG_ARCHIVE_DEST_1, поскольку он по умолчанию valid_for обеих ролей (и primary и standby.
Для Oracle managed files (OMF) есть еще достаточно известная особенность при создании standby (начиная с 10g0. Если вы используете OMF то параметры db_file_convert и log_file_convert не работают. Я нашел единственный выход, при дублировании БД задать новое значение для DB_CREATE_FILE_DEST прямо в команде duplicate database.


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

11g new features

Мне удалось провести 3-х дневный семинар по новым возможностям 11g. Надо сказать, что это очень не простой семинар, поскольку требует от слушателей не только хороших знаний 10g но и знаний в самых разных областях database - начиная от pl/sql и заказчивая новыми возможностями ASM в среде RAC. С программой семинара Вы можете познакомится здесь. Сегодня мне кажется, что из-за сложности семинара он не будет востребован.

К семинару я приготовил 2 лабораторные работы. Одна по установке 11g, другая по настройке Active Data Guard.

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


PS
На фотографии - вечерние огни мечети Кул-Шариф. Вы можете посмотреть все фотографии Казани. АК Барс проиграл Салават-Юлаеву. Жалко. Когда уезжал, оказалось, что я жил с игроками АК Барса в одной гостинице.


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

10g RAC 64 bit on RHAS 5 U1

При установке 10g RAC 64 bit на RHAS 5 U1 я столкнулся с интересной проблемой.
Инсталлятор по умолчанию создает listener.ora, в котором перечислены как vip адрес кластера, так и public адрес. Конечно нет смысла слушать public адрес (наверно это было сделано с целью обратной совместимости при переезде из некластерной БД в кластерную) и его можно удалить.

Но если Вы сделаете это на Linux 64 bit (и некторых других 64 bit платформах), вы получите ошибку ORA -12520
TNS:listener could not find available handler for requested type of server

На Linux 32 bit, в нашем виртуальном образе, такой ошибки не проявляется.

Осмотр конфигурационного файлы и вывода команды lsnrctl status не помогли решить проблемы. Оказалось, что это такой баг, который легко лечится установкой параметра local_listener. Необходимо добавить в tnsnames.ora на обоих узлах

LISTENER_RAC1 =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.ru.oracle.com)(PORT = 1521))
)

LISTENER_RAC2 =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.ru.oracle.com)(PORT = 1521))
)

И выполнить

SQL> Alter system set LOCAL_LISTENER='LISTENER_RAC1' scope=both sid='orcl1';

System altered.

SQL> Alter system set LOCAL_LISTENER='LISTENER_RAC2' scope=both sid='orcl2';

System altered.

SQL> alter system register;


Если Вам интересно, инструкция по установке.


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

Clusterware

Как я писал ранее, начиная с 11g разрешается бесплатно использовать Oracle Clusterware в некоторых случаях.

Оказалось, что есть даже выделенная страничка для пользователей Oracle Unbreakable Linux, на которой поясняют, что купившие поддержку, могут бесплатно воспользоваться clusterware 10 & 11 версий и предлагают их скачать.

Также опубликована интересная статья, как разместить voting disk на NFS, содержащая точные параметры монтирования. Обратите внимание, там описывается bug инсталлятора, который не распознает NFS, и решение для обхода этой проблемы.


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

ASM, change host name

Когда Вы устанавливали ASM, чтобы позже разместить на нем свои файлы БД 11g, Вас очень просили выполнить скрипт $ORACLE_HOME/bin/localconfig add

Если Вы позже решите изменить имя вашего хоста, Вам после изменения необходимо будет выполнить
$ORACLE_HOME/bin/localconfig reset
$ORACLE_HOME/bin/localconfig add

Ну и конечно не забудьте проверить правильность /etc/hosts, listener.ora, tnsnames.ora


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

Семинар Oracle VM

Первый семинар ORACLE VM: INTRODUCTION FOR PARTNERS прошел, на мой взгляд успешно. Был выбран парнер, в техническом уровне специалистов которого сомневаться не приходится. И действительно, я узнал не меньше нового, чем слушатели :)

Пара вопросов, оставшися на презентации без ответа, на которые я нашел ответы:

Q. Можно ли аллокировать место под виртуальную машину не сразу, а по мере необходимости ?
A Можно с помощью sparse файлов

dd if=/dev/zero of=vm1disk bs=1k seek=2048k count=1 disk = ['file:/full/path/to/vm1disk,sda1,w']

Такой файл реально занимает только 1k на диске.
Искать по слову File-backed VBD в документации XEN


Q. Как изменить кол-во памяти, занимаемое доменом Dom0 ?
A. В grub.conf есть параметр dom0 mem=xxx

Над остальными **цатью - думаю :))))


PS. Комментарий одного из слушателей
"Продолжение традиций и формата семианар RAC DD4D - большой плюс"

Действительно я показал на ноутбуке полностью все компоненты Oracle VM, мы поставили Oracle VM server и гостевую ОС в режиме паравиртуализации. Мелочь - но приятно увидеть что-то кроме слайдов :)

PS2. Если Вы партнер Oracle и хотели бы провести у себя такой семинар - обращайтесь пожалуйста к своему менеджеру в партнерский отдел Oracle.


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

ASM tips

Несколько трюков с ASM:

  1. Помните, что по умолчанию compatible для ASM 11g стоит в 10.2, а вовсе не в 11.1. Это значит, что пока Вы его не измените, новые возможности ASM у вас не появятся.
  2. Начиная с 11g появилась возможность выполнить backup метаинформации ASM. Это крайне полезно, поскольку сохраняется информация об ASM disks, diskgroups, failure groups, templates, aliases, directory structure. Если Вы потеряте по какой-то причине дисковую группу, то данные конечно rman восстановить может, но все вышеперечисленное придется вспомнить. Backup/restore выполняются с помощью asmcmd md_backup/restore соответсвенное.
  3. Начиная с 11g появилась команда asmcmd cp для копирования файлов между ASM и файловой системой, что значительно удобнее чем rman или ftp через XDB.е
  4. Если вы хотите поиграться с ASM, но у вас нет большого числа raw устройств, вы можете эмулировать их, создав обычные файлы. Заполните их 0 с помощью dd, затем свяжите их с /dev/raw/rawN. В ASM init.ora вы должны поставить параметр _ASM_ALLOW_ONLY_RAW_DISKS=FALSE.


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

Changes in support policies starting from 10.2.0.4

Oracle is pleased to announce an extended grace period for installing new patch sets. Beginning with patch set 10.2.0.4, Oracle will provide bug fixes and critical patch updates to the previous patch set for up to one year from the initial base release of the new patch set. As a result of this change, customers will receive the benefit of being able to use regularly scheduled maintenance windows to apply patch sets.

For situations where a patch set is released on a particular platform, more than nine months after the release of the patch set on the base platform, Oracle will provide bug fixes to the previous patch set on that platform for a minimum of three months. Please note that this change applies to the Database only. The grace period for all other Server Technology products remains the same.

Update 1: Note:209768.1


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

Upgrading from Oracle Database 9i to 10g

Если Вы все еще используте 9i но мечтаете о переходе на 10g, крайне рекомендую Вам прочитать:

Upgrading from Oracle Database 9i to 10g: What to expect from the Optimizer
twp_bidw_optimizer_10gr2_0208.pdf (application/pdf Object)

Обратите внимание на новые процедуры DBMS_STATS.DIFF_TABLE_STATS_*, появившиеся только в 10.2.0.4 и документированные только в 11g. Они помогают сравнить статистику из разных источников.

На metalink тем временем обновилась 10g Upgrade Companion.


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

Oracle VM - success story !

Удалось изменить мнение об Oracle VM в лучшую сторону. Наш консалтинг из Голландии провел семинар, на котором показал некоторые очень полезные трюки.

Трюк N1.
Как известно, Oracle VM необходимо ставить на голое железо. А значит, нужно как то разбивать существующий жесткий диск, или вообще терять его содержимое. Это неудобно. Тогда берется внешний USB диск и Oracle VM ставиться на него :)

Трюк N2.
Нет внешнего USB диска ? Не беда, берем VMware и ставим Oracle VM под VMware. А затем ставим paravirtualized OEL5.1. И все замечательно работает ! Конечно, в такой ситуации, мы не можем запускать full virtualized guest, поскольку Oracle VM не имеет контроля над физической машиной. Никаких проблем с созданием вирутальных интерфейсов для кластера нет.

Трюк N3.
Хочется запусть 11g RAC ? Никаких проблем. Где угодно в сети ставим openfiler и наши ноды замечательно работают с общей БД по протоколу ISCSI. Openfiler требует всего лишь 256mb памяти. Производительность для демо целей вполне достаточная.

Итого, на ноутбуке с 2 gb памяти у меня стоит и работает одновременно openfiler, oracle vm manager, oracle VM c OEL5. Более чем достаточно, для изучения всей инфраструктуры.


Кстати, не слишком дорого приобрести внеший диск скажем 1 Tb, который подключается по Ethernet и изображает из себя NFS. 11g RAC сертифицирован с некоторыми NFS устройствами, что позволяет надеяться, что для тестовых целей можно взять не сертифицированное устройство. В интернете легко можно найти подробности установки. Берете машину с 3 Ghz 2 core, 4 gb памяти, грузитесь в внешнего винта, всю базу размещаете на NFS. Если поставите паравиртуализационное ядро производительность будет более чем достаточной для разработки.

В заключении приведу несколько полезных ссылок по Oracle VM.

http://www.oracle.com/technology/software/products/virtualization/vm_templates.html
http://www.oracle.com/technology/software/products/virtualization/vm_templates_other.html
http://wiki.oracle.com/page/Oracle+VM?t=anon
http://wiki.oracle.com/page/Oracle+VM+Server+use+case%3A+multiple+networks%2C+multipathed+SAN+storage
https://metalink.oracle.com/metalink/plsql/f?p=130:7:1569024644646411356:::::
http://www.google.com/ncr :))))


Вот например такой трюк я нашел пользуясь перечисленными выше ссылками:

xm list дает список всех доменов
/usr/lib/xen/bin/xenconsole попадаем в консоле
ctrl+] - выйти из консоли.


Анонс:
Готовится к выходу первый семинар для партнеров по Oracle VM.
Можно будет "заказывать" начиная со второй половины апреля.


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

10.2.0.4 is available for Linux x86

10g Release 2 (10.2.0.4) Patch Set 3 for Linux x86 is available for Linux x86.
Для прочих платформ на момент написания этой заметки этого patch пока нет.

Выход этого patch событие знаковое. Как вы конечно помните, именно с этого patch level была обещана возможность захвата нагрузки (capture workload) для нашей опции Real Application Testing.

На metalink patch можно найти нажав на Patches&Updates -> Quick links и дальше подведя мышку к Oracle Database.

Update 1.
Обещают, что в этом патчсете появится OPROCD процесс. Я удивлялся раньше, где он.

Update 2.

Поставил патчсет

[oracle@rac2 ->]$sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Feb 29 23:41:10 2008

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

root 4236 3512 0 15:58 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root 4600 4236 0 15:58 ? 00:00:00 /u01/app/oracle/product/10.2.0/crs_1/bin/oprocd.bin run -t 1000 -m 500 -f

Появился пакет dbms_workload_capture.
Пакета dbms_workload_replay нет, wrc нет.

Database Control по умолчанию теперь работает через https (как в 11g)



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

Metalink Case Studies

Знаете ли Вы, что на metalink существует раздел
Knowlodege->Case Studies ?

Хочу обратить ваше внимание на 2 великолепных документа, практически инструкции по борьбе со странностями производительности. Конечно, все документы из этой серии достойны того, чтобы внимательно их прочитать.

  1. Почему у меня не используется индекс ? - 1,000,000 раз задаваемый вопрос. Посмотрите как грамотно ребята все разложили по полочкам, на что они обратили внимание. CS_stubborn_cbo_external.pdf Прекрасный образец исследования проблемы.
  2. Подземный стук в БД, все виснет время от времени ? CS_Intermittent_Hang.pdf Тут меня восхитило, как они нашли соответсвующий баг. Не скрою, я думал что это почти невозможно - оказалось, это даже не слишком сложно.
Что важно, описанная техника реально применима в жизни. И не слишком зависит от текущей версии БД.

Update 1.
В 11g появился Hang Manager. Кажется это процесс dia0. Пока не могу найти больше информации. Копать надо в сторону параметров _hm_* и _diag_hm*


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

ASMlib

Существует убеждение, что ASMlib для Linux позволяет ускорить ввод-вывод. Это странно, но однозначного ответа получить нельзя. В презентациях иногда вспоминают это, иногда пропускают. Преподаватели на курсах имеют самые разные идеи насчет этого вопроса :)

За разрешением вопроса о том, что же далает ASMLIB обратимся к книге Oracle Automatic Storage Management. Поскольку один из авторов Rich Long, Director of Development, можно предположить, что это наиболее достоверный источник информации.

В книге утверждается, что ASMLIB обеспечивает следующие 3 основные функции (курсив мой):

  1. Device discovery
    1. Действительно, с помощью команды oracleasm можно создать asm диски, чтобы облегчить немного жизнь ASM. В заголовок диска прописывается специальная строчка, говорящая о том, что следует адресоваться к диску с помощью asmlib. Далее в параметре ASM инстанс необходимо прописать asm_diskstring="ORCL:*" чтобы предотвратить открытие всех дисков для поиска необходимых ASM. Более подробно можно прочитать http://www.oracle.com/technology/tech/linux/asmlib/persistence.html
      Но в принципе, udev делает тоже самое (?)


  2. I/O processing
    1. Cокращается число file handler в системе. Для каждого диска существует всего лишь один, так называемый "portal device", через который ведется весь ввод-вывод. С одной стороны, это полезно чтобы не подкручивать лимиты ОС. С другой стороны, если файлы открываются, то их нужно и закрывать, а это не все процессы делают. Мне говорили, что замена ASM диска без ASMlib может стать проблемой, если дисков очень много.
    2. ASMLIB не использует kernel async IO. Используется собственный механизм вводы-вывода, также асинхронный. надеюсь, что он быстрее чем родной, ведь его не просто так написали ?

  3. Perfomance
    1. Делается меньше переключений контекста, что экономит CPU time. Верю, но почему не воспользовались интерфейсом ODM, который реализовал, например, Veritas ?
    2. За один вызов к asmlib можно выполнить несколько операций I/O. Наверно для full scan можно, а вот для чего еще это работает я понять не могу.

Почему меня так беспокоит весь этот гондурас ?

Если бы видели матрицу поддержки EMC powerpath ASMlib он вас тоже бы беспокоил.
Через версию они (EMC) все ломают. Апофеозом борьбы можно считать Note:469163.1
которая рекомендует игнорировать все происки врагов и использовать лом:
/usr/sbin/asmtool -C -l /dev/oracleasm -n -s /dev/ -a force=yes

Вот только зачем, если у Вас не тысячи пользователей и сотни файлов ?
Из-за экономии 10% CPU при следующем upgrade powerpath можно потерять свои диски...

Резюме:

Посмотрите сначала на поддержку ASMLIB на вашей платформе. Посмотрите на кол-во дисков и пользователей. Взвесьте все "за" и "против" - теперь Вы их знаете. В любом случае вы всегда можете мигрировать raw устройства в asmlib диски без потери данных. Дело в том, что в первых 128 байтах на диске находится название дисковой группы и признак, управляется ли этот диск asmlib. Так что oracleasm cre
atedisk всего лишь проставляет признак, не разрушая название группы.

Update 1.
Для чтение заголовков ASM дисков у нас существует редактор kfed. К сожалению описание самого заголовка internal only. Можете поэкспериментировать сами :)


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

11g: продвинутые возможности для разработчиков

Игорь Мельников (Igor.Melnikov) представляет очередной семинар для разработчиков,
на этот раз "Oracle Database 11g: продвинутые возможности для разработчиков".

Так, например, больше вы нигде не узнаете, как взглянуть на свой pl/sql код после оптимизации ...


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

Семинар Oracle RAC для разработчиков (окончание)



Наш семинар закончен. Отзывы участников вполне положительные. Мы так думаем, по крайней мере :) Все оценки только "отлично" или "хорошо". Замечания ( и очень ценные !) так же есть. Будем работать над их устранением.

Материалы для участников доступны по следующей ссылке. Там же объясняется, почему мы предоставляем их только участникам и просим их не распространять.

PS Фотография - пока какая есть :(
Point-and-shoot cameras - must die ! Canon - rules !


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

Семинар Oracle RAC для разработчиков

Наш семинар Oracle RAC для разработчиков начинается уже сегодня. Мы многое постарались сделать. Изучена литература (список см. слева), переработан контент семинара, чтобы сделать его интереснее. Так только в первый день семинара 9 презентаций и примерно 15 демонстраций. Но если Вы опоздали с регистрацией - не волнуйтесь, следующий объявлен в конце марта, предположительно 27-28 числа. Он будет конечно еще интереснее, так как не все что хотели, мы физически успели реализовать.
You are welcome !

UPDATE 1.
На первый день пришло 65 человек (!). В 17.45 часов мы решили проголосовать чтобы перенести еще одну презентацию (~45 мин) на следующий день. Публика проголосовала, чтобы слушать немедленно. Гвозди бы делать из этих людей :)


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

Oracle Enterprise Linux story

Wim Coekaerts, на минуточку Vice President of Linux Engineering,
более 2-х часов рассказывал про Linux и Oracle VM.

Я задал ему несколько вопросов:

Q. Чем отличается Oracle Enterprise Linux (OEL) и Red Hat ?
A. Только логотипами. Действительно в R4 U4 мы поставили несколько обновлений, которые не принял Red Hat, но с выходом R5 мы это прекратили. Ядро одно и тоже, так и будет. Но вы можете получать обновления с linux.oracle.com.

A. Является ли Unbreakable Linux программой только для USA ?
Q. Нет, это глобальная инициатива. Support по OEL ничем отличаться от support остальных продуктов не будет. Т.е. будет все так же глобальным. Да, 10 лет назад все знали инженеров в поддержке, теперь это совсем не так, но это общая политика.

Q. Мы уже знаем, что с помощью Oracle VM можно построить hardware partitioning,
платить только за процессоры в партиции, но можно ли будет на 8 сокетный сервер ставить SE* в 2 сокетную партицию ?
A. Я уверен, что для Oracle VM сделают исключение. Пока нет, но я уверен, что его сделают.

Q. Будет ли развиваться OCFS2 для windows и других платформ ?
A. Я этого не знаю, поскольку отвечаю только за Linux направление

PS

Немного прояснилось почему вообще решили делать Oracle Enterprise Linux. По официальной версии в RedHad не было специалистов по базам данных. Все равно приходилось обращаться в Oracle за консультациями. Решили поэтому сократить путь для выпуска обновлений. Еще раз подчеркну - именно для того, чтобы не создавать отдельного linux в OEL и нет например нужных для БД параметров ядра, пользователя oracle и прочее прочее.

Насколько правдива эта история - я не знаю. Записано с чужих слов :)


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

Jonathan Lewis "Optimizing Oracle" seminar

Удалось посетить семинар Jonathan Lewis Optimizing Oracle. Описание семинара на сайте немного устарело, но в целом совпадает с действительностью. Семинар - совершенно открытый и проводиться Oracle University.

Важно понимать перед поездкой , что семинар построен совсем не по книге Cost-Based-Oracle-Fundamentals. Совпадение с книгой есть, но всего на 1 или две презентации (я думаю 1.5-2 часа). Но книгу лучше прочитать до семинара.

Этот семинар о том, как работает Oracle. Чего следует избегать и почему. Почти в каждом слайде (!) ссылка на пример.



Семинар в первую очередь могу рекомендовать тем, кому интересно, как на самом деле работает Oracle. Кто готов "копаться" дальше самостоятельно.

Я полагаю, что реальную пользу прежде всего извлекут те, у кого накоплен практический опыт преодоления проблем. Кто сталкивался с проблемами производительности, находил свои решения. Прежде всего, мне кажется это application dba. Т.е. кто по роду своей деятельности больше разбираются с чужим кодом, чем с backup & recovery. Мне кажется, что нужно иметь хотя бы 5 летний опыт работы с Oracle, начиная с 8i. И это не семинар как писать на pl/sql, скорее как исправить уже сложившуюся ситуацию.

Большинство примеров приводится для версий 8i и 9i. Меньше для 10g и считанное число для 11g. Но вам показывают идею. Хочется понять как это работает в 11g - пожалуйста, берите пример и смотрите.

Джонатан очень интересно рассказывает. Я бы сказал - очень профессионально. Четко, выдерживает тайминг, отлично знает материал. За 3 дня ни разу не показалось, что он устал. Боюсь, что у этого семинара есть только один недостаток - слишком много информации :) Вы получаете тонны материала ! Вы получаете CD c 460 примерами !

Даты следующих семинаров Вы можете посмотреть на сайте Джонатана.

И пожалуй, этот семинар - самое интересное, что я в жизни слышал про Oracle Database.

PS
На фотографиях - ночной Dublin и зимний Howth. Ирландия (я был первый раз) мне очень понравилась. Конечно лучше приезжать не в феврале. При температуре около 0 градусов стоять у моря невозможно - околеваешь сразу. А на открытой местности ветер может чуть-ли не сбить с ног. Капюшон - крайне важная часть одежды ирладцев зимой. Посмотреть все фотографии


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

Oracle VM can be used as hardware partitioning !

Обновили описание Partitioning'а. Теперь в разделе hard partitioning появилась Oracle VM. Т.е. при условии указания в конфигурационном файле виртуальной машины кол-ва процессоров лицензию можно приобретать только на указанное кол-во процессоров. Может быть и появятся какие-то доп. разъяснения, но в принципе уже все понятно и должно работать. Сделан сильный шаг в сторону продвижения Oracle VM. Пока не появилось дополнительного документа, стоит предполагать, что использование Oracle VM, как и любое hardware partitioning не дает возможности обойти правило "maximum capacity of" прайс-листа. Т.е. перед попытками лицензировать семейство SE* необходимо соблюсти правила лицензирования на физическую машину, а затем уже оплачивать процессоры, выделенные виртуальной машине.

PS. Если не указывать кол-во процессоров, то Oracle VM будет Software partitioning, о чем сказано все в том же pdf.


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

Наиболее популярные версии Oracle на сегодня

К сожалению, нельзя точно посчитать, какое кол-во инсталляций СУБД Oracle в мире, какой версии и на каких платформах. Существуют лишь различные приближенные оценки. Одна из таких методик подсчета - по кол-ву открытых service request'ах (SR) на metalink.oracle.com. Другая - по кол-ву загруженных обновлений, в данном случае я имеют в виду Critical Patch Update (CPU) . Ведь их скорее будут ставить на промышленные системы, нежели на системы тестирования и разработки.

Статистика (в целом по миру), для CPU October 2007 выглядит так (первая 5-ка):

- Microsoft Windows 32 bit 10.2.0.3
- Solaris Sparc 64 bit 10.2.0.3
- Microsoft Windows 32 bit 9.2.0.8
- Linux x86 10.2.0.3
- AIX 64 bit 10.2.0.3

Победа Windows (2 из 5) объясняется очевидно тем, что администраторы этой платформы привыкли непрерывно "латать" ОС, по привычке ставят security патчи на все подряд :)

А вот то, что по обоим вариантам подсчета (и по CPU и по SR) лидирует 10.2 по сравнению с 9.2 - это уже факт.


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

11g Oracle by Example

Выложили/выладывают обучающие уроки по 11g. Мне понравилось, что в отличии от предыдущего формата уроков, где надо было выполнять действия не всегда понимая их цели, сейчас сначала идет презентация, поясняющая суть вещей, затем демонстрации. По крайне мере это так для SQL Plan Management. Очень рекомендую просмотреть эти уроки перед чтением документации.


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

Пресс-релиз по Oracle RAC

Не так много у нас публичных референсов по Oracle RAC. Поэтому особенно приятно, что
Московский кредитный банк обеспечил масштабируемость своих систем за счет кластера Oracle


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

Oracle VM Server use case


Только я собирался пожаловаться в очередной раз на документацию по Oracle VM, как я нашел великолепную серию статей Oracle VM Server use case: multiple networks, multipathed SAN storage

Очень подробно, с картинками, рассказывается как построить производственную среду на основе Oracle VM. Подробные и точные инструкции, как настроить сеть, ocfs2 , SAN под Oracle VM.

Документация очень высокого уровня. Далеко не всегда, выполняя проекты для заказчика (за деньги, и не маленькие !) пишут столь же подробно. Очень рекомендую.

И мне кажется, теперь не осталось преград на пути внедрения Oracle VM :)

Кстати, если Вы захотите поучиться Oracle VM в нашем ISV Migration Center'е - и Ваша организация - ISV- напишите мне (Dmitry.Volkov) . В IMC серьезное "железо", поэтому можно будет попробовать почти все описанное в выше приведенных ссылках.


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

CPU Jan 2008

Critical Patch Update January 2008 Availability Information for Oracle Server and Middleware Products: Note:466757.1


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

joint Oracle / IBM technology seminar

29-31 января, в Москве, состоится семинар Oracle 11g RAC on IBM System p running AIX6.1.
Представляет его команда из объединенного центра Oracle/IBM, Montpelier. Он очень технический, включает в себя теорию и лабораторные работы, в том числе установку кластера.

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

Прошу Вас по точным срокам и программе семинара обращаться к Анне Луговой (Anna_Lougovaya@ru.ibm.com)

Update1:
Ссылка на регистрацию: http://www.ibm.com/ru/events/dba/


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

Семинар "RAC для разработчиков"

Появилась возможность заполнить и прислать заявку на семинар RAС для разработчиков (см. также здесь и здесь)

Заявки для регистрации на семинар направляйте по адресу VICTORIYA.BESSONOVA@ORACLE.COM до 1 февраля включительно в виде заполненной (все поля полностью) регистрационной формы, которую можно скачать здесь

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

Обращаем Ваше внимание на то, что окончательное решение о подтверждении участия в семинаре будет принято после рассмотрения полученных заявок, об этом решении Вы будете проинформированы дополнительно до 5 февраля до 18.00.

Вопросы относительно проведения семинара направляйте в Департамент по работе с партнерами по телефону +7(495)641-14-40, либо по адресу VICTORIYA.BESSONOVA@ORACLE.COM


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

dbms_aq and RAC

Вы все еще думаете, что ваше приложение заработает в среде RAC без изменений ?

Тогда Вот вам еще пример:
10gR2 RAC
Вы создали очередь, стартовали ее, добавили подписчиков - но пропагация данных в эту очередь осуществляется с помощью sys.dbms_aqadm.aq$_propaq(job); работающей как job (dba_jobs)

И соответсвенно, пропагация прекратится, если узел кластера , на которой вы создали очередь, упадет. Проблему можно вылечить при помощи DBMS_AQADM.ALTER_QUEUE_TABLE где которой указать два узла, на которых будет поддерживаться пропагация. Но и это еще не все, рекомендую прочитать внимательно
Oracle Streams Advanced Queuing and Real Application Clusters: Scalability and Performance Guidelines. Насколько я понимаю, в этой статье предлагается модифицировать приложение гораздо более существенно.


PS
Конечно, это странно, что dbms_aq использует dbms_job. И в 11g это исправили

"
Transition from Job Queue Processes to Database Scheduler
EMON PL/SQL notifications are executed by background jobs. In this release these
jobs are DBMS_SCHEDULER jobs and are no longer conducted by DBMS_JOBS.
"


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

Oracle Fencing driver

Fencing - это механизм исключения "поврежденного" узла из кластера. Fencing необходим потому, что нельзя отличить сбой узла от повреждения интерконнекта/SAN. Fencing, таким образом гарантирует, что узел не может выполнить I/O и повредить данные.

Если узел не обновляет информацию в voting disk или не отвечает по interconnect в течении timeout, возникает потенциально ситуация (split brain), когда узлы кластера начнут несогласованно модифицировать данные. Более точно, узлы каждую секунду пишут в voting файл и также каждую секунду читают kill block.

Начиная с 10gR2 существуют 3 параметра (Note:284752.1):

reboottime
disktimeout
misscount

Управлять этими параметрами можно с помощью $CRS_HOME/bin/crsctl get/set css

Однако необходимо помнить, что "Customers should not modify CSS settings unless guided by either Oracle support or Oracle development to do so"


Для осущетвления голосования каждый узел должен иметь доступ как минимум к N/2+1 Voting disk, где N - число voting disks. Например если сконфигурировано 5 voting disks, в любой момент времени должно быть доступно не менее 3-х.

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

Для выполнения fencing Oracle использует алгоритм STONITH (shoot the other node in the head - http://en.wikipedia.org/wiki/STONITH). Oracle Clusterware реализует данный алгоритм посылая узлу команду "самоубийства" (commit suicide), и узел выполняет перезагрузку. В нижеследующей таблице описан алгоритм вызова STONITH.

Network Ping Disk Ping Reboot
Completes within misscount seconds Completes within Misscount seconds

N

Completes within Misscount seconds Takes more than misscount seconds but less than Disktimeout seconds

N

Completes within Misscount seconds Takes more than Disktimeout seconds

Y

Takes more than Misscount Seconds Completes within Misscount seconds

Y
















Надо отметить, что некоторые другие вендоры (я точно знаю про Veritas) используют для fencing инструкции scsi persistent reservation (набор команд SCSI3). В это случае узлы "голосуют" через этот набор команд, кто из них должен "умереть". У этого подхода есть и достоинства и недостатки. Недостаток - диски должы поддерживать scsi3, достоинство - такой fencing драйвер работает в kernel mode, таким образом гарантируя, что I/O команды не пройдут.

Fencing драйвер Oracle напротив работает в user mode, но целостность данных дополнительно гарантируется внутренними механизмами RAC.

И я надеюсь, что после вышесказанного, понятно, что для предотращения reboot узлов все оборудование (сетевые карты, SAN адпатеры, SAN switch) должно быть дублировано и необходимые драйвера установлены в ОС.

Note 294430.1 “CSS Timeout Computation in RAC 10g


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

Sybase анонсирует shared disk cluster

Андрей Пивоваров (Andrey.Pivovarov) обнаружил, что Sybase анонсировал доступность своего shared disk cluster'а:

http://www.sybase.com/files/Product_Overviews/Sybase-ISUG-071707.pdf

С одной стороны - это прямой конкурент Oracle RAC. Но, как мне кажется, для Oracle это скорее положительная новость. Раньше конкуренты объясняли отсутсвие у них своего подобного продукта тем, что его ни у кого нет, а значит нет необходимости в подобном подходе, что standby - решение всех проблем. Но сейчас, с выходом еще одного такого продукта этот аргумент уже действовать не будет.

Так слайд 15 презентации прямо содержит фразу "Recovery time is faster than with traditional Active-Standby / Active-Active solutions"

Насчет производительности кластера по сравнению с SMP у Sybase нет иллюзий. Так на слайде 28 честно сказано "Law of physics: plumbing over a cluster interconnect is slower than an SMP bus. Successful deployments try to avoid the plumbing" что сразу должно навести потенциальных пользователей на размышления о плюсах и минусах решения и принципах программирования.

Посмотрим, как заработает этот продукт. Даже по презентации видно, что кластерный уровень у них работает по другому и будет требовать большей совместимости с железом и сторонним ПО. Жизнь покажет, какой подход окажется удачнее.


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

CRS log directories

When troubleshooting CRS problems, it is important to review the directories under the CRS Home.

· $ORA_CRS_HOME/crs/log - This directory includes traces for CRS resources that are joining, leaving, restarting, and relocating as identified by CRS.

· $ORA_CRS_HOME/crs/init - Any core dumps for the crsd.bin daemon should be written here. Note 1812.1 could be used to debug these.

· $ORA_CRS_HOME/css/log - The css logs indicate all actions such as reconfigurations, missed checkins , connects, and disconnects from the client CSS listener . In some cases the logger logs messages with the category of (auth.crit) for the reboots done by oracle. This could be used for checking the exact time when the reboot occured.

· $ORA_CRS_HOME/css/init - Core dumps from the RACsd primarily and the pid for the css daemon whose death is treated as fatal are located here. If there are abnormal restarts for css then the core files will have the formats of core.. Note 1812.1 could be used to debug these.

· $ORA_CRS_HOME/evm/log - Log files for the evm and evmlogger daemons. Not used as often for debugging as the CRS and CSS directories.

· $ORA_CRS_HOME/evm/init - Pid and lock files for EVM. Core files for EVM should also be written here. Note 1812.1 could be used to debug these.

· $ORA_CRS_HOME/srvm/log - Log files for OCR.


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

Oracle VM - первые впечатления

Удалось немного познакомиться с Oracle VM. В него входят два продукта - Oracle VM Server (xen) и Oracle VM manager. Oracle VM Server - это известный open source продукт Xen, очень интересный своей возможностью выполнять паравиртуализационные ядра и Oracle VM manager - web интерфейс управления, написанный Oracle. Oracle также разрабатывает паравиртуализационные драйвера и готовит ядра (HVM и PVM) .

Oracle VM Server ставится очень быстро и легко (15 минут), представляет собой модифицированное ядро Linux 2.6.18-8.1.6.0.18.el5xen и должен ставится только на "голое" железо, что конечно неудобно тем, кто хотел бы попробовать.

Oracle VM manager ставиться на Oracle Enterprise Linux и его установка поистине ужасна. Он обязательно поставит для своего репозитория Oracle XE (упадет, если она уже стоит), не умеет создавать репозиторий в уже существующей БД, развернет oc4j, потребует создать сертификат с помощью именно своего keytool (иначе упадет). Поменять пароль можно только если у Вас есть mail сервер. Если нет - ваши проблемы.

Таким образом, в промышленной эксплуатации нам нужно как минимум 2 отдельных сервера. Но компонента Oracle VM не является строго обязательной. Она для удобства, ага.

Но все можно было бы пережить, если не качество документации по Oracle VM. Это ужасно. Авторы явно считают, что все в должны знать Linux, VNC, OC4J, ocfs2 и очень желательно xen. Просто пропустили описание того что во время старта домена стартует vncserver (или я не понял). Один из предложенных шаблонов (напишу какой) падает при загрузке. Я полдня гадал почему я не погу подключиться по vnc и все ли я делаю правильно. Спасла xen console. Не могу рекомендовать пробовать на данном этапе Oracle VM тем, кто не знает Linux.

Надеюсь в ближайшее время попробовать Live Migration - для этого я установил еще один Oracle VM Server. Обещают , что время простоя, за счет специального алгоритма копирования памяти будет небольшим. Вот и посмотрим. Live Migration кстати требует общего дискового пространства. В инструкции по подключению iscsi забыли упомянуть, что возможно необходимо выдать права хосту. Если Вы все это делали раньше - зачем Вам инструкция, а если нет - вам придется до многого догадаться самому.

Несмотря на документацию :( - продукт очень интересный. И мне кажется будет применяться в промышленных системах из-за политики поддержки. См. предыдущий пост и полный список в Metalink Note 464754.1

В январе пройдет моя презентация и демонстрация Oracle VM для сотрудников Oracle. Если Вам интересно ее послушать - напишите мне. Если я соберу аудиторию - проведу и для всех .

На картинке Вы видете домен OVM_EL4US_X86_HVM_ORACLE_11G - поднятый из шаблонов и Oracle VM manager

Я думаю, что Вы скоро услышите термин Grid 2.0. Не пугайтесь, это всего лишь... Oracle VM. Расскажу подробнее при встрече :)


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

Making Virtual Servers a Reality


В январском номере Oracle Magazine опубликована статья Oracle News: Making Virtual Servers a Reality

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

И наконец, для руководства, у Oracle VM совершенно неубиваемый козырь перед конкурентами - поддержка.
Цитата из Note:249212.1 "Oracle has not certified any of its products on VMware virtualized environments". И напротив, список из поддерживаемых продуктов из Note:464754.1, включающих в себя

  • Oracle Database 10gR2 , 11gR1
  • Application Server 10gR3
  • и т.д.
Единственное, что несколько портит всю эту картину - отсутствие ясного утверждения, что все достижения Oracle VM только для Linux x86 и паравиртуализированных ядер. Продавцы , понятно, вдаваться в такие тонкости не будут :(


PS
Похоже, что Xen (тот, что внутри Oracle VM) делали на деньги Microsoft ?
"This work is supported by ESPRC Grant GR/S01894/01 and by Microsoft"

:))))


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

YouTube - Unconventional Oracle Installation (part 1)

Если когда -нибудь Ваш администратор будет рассказывать Вам как трудно ему было поставить 10g - просто покажите ему эту ссылку: YouTube - Unconventional Oracle Installation (part 1)
:))))))))


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

RAC для разработчиков, 14-15 февраля 2008 года

Хочу дать обновленную информацию о нашем семинаре "RAC для разработчиков" который будет проходить 14-15 февраля 2008 года в Москве. Я уже писал о нем. Теперь Вы должны были получить приглашение по email на данный семинар. Если Вы его не получили, это не страшно, можете его прочитать сейчас. Если Вы уже получили приглашение, то чуть позже Вам придет и ссылка на регистрацию. Если приглашения нет, обращайте пожалуйста к Сергею Данилову (sergey.danilov), не забудьте представить свою компанию :)


Мне хочется также рассказать небольшую историю, почему вообще мы сделали этот семинар:



"- Христианская религия основана не неверном толковании: ...При переводе с иврита на греческий, слово, которое значит молодая женщина перевели как девственница. Ошибиться было легко - там отличается только одна буква. Из этой ошибки выросло пророчество...Внимание людей привлекло слово девственница. Не каждый день девственница беременеет и рожает детей. Но дайте этому пророчеству настояться...
- И что ты уже хочешь этим сказать ?
- Я таки хочу сказать, что если что-то и написано, это не значит что это так на самом деле и есть. Люди верят. Это их надежда, и какая разница правда это или вымысел."
Фильм "Snatch", в переводе Гоблина.


С выходом 9i и Real Application Cluster в 2001 году появился маркетинговый лозунг, повторенный неоднократно и на самом высоком уровне:


"With competitors IBM and Microsoft ..a main distinction of Oracle's grid technology is its ability to run applications more efficiently..and you don't have to change a single line of code within the applications"


В технических статьях в районе 2004 года появляются фразы:

Oracle RAC requires no changes to existing database applications...Oracle RAC also requires no changes to existing database schemas. Data does not have to be partitioned or distributed across nodes in a RAC database..


И окончательно, начинают говорить с разных трибун только:

"you don't have to change a single line of code"


Из документации по 9i R2 "Real Application Clusters Deployment and Performance Guide" пропадают разделы про необходимость партиционирования. Очевидно, для того чтобы не вводить в заблуждение людей - ведь обещали, что не надо ничего менять.

Как мы видим, в этом случае внимание людей привлекла часть "change а single line of code", и все забыли контекст, в котором это было сказано первый раз.

Однако, мне очень нравиться вот эта фраза:

" There is a difference between an application working without changes in a cluster and actually scaling without changes !
"

И действительно, из собственного опыта видно, что можно перенести приложение в кластер, ничего не поменяв в приложении и оно заработает. И это правда. И это здорово ! Реальное огромное достижение !

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

Так вот, если Вы хотите узнать как сделать так, чтобы Ваше приложение в кластере было масштабируемым, умело использовать возможности кластера, когда и как нужно партиционировать схему приходите на наш семинар !

PS

Для тех кто все таки не понял, зачем нужно что-то знать про кластер, небольшой анонс:

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


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

oprocd mystic

Согласно документации на 10gR2, oprocd - A UNIX-based process monitor for a cluster. Note that this process will only appear on platforms that do not use vendor clusterware with Oracle Clusterware.

Process Monitor Daemon (OPROCD)—This process is locked in memory to monitor the cluster and provide I/O fencing. OPROCD performs its check, stops running, and if the wake up is beyond the expected time, then OPROCD resets the processor and reboots the node.


Так вот он есть только в 11g на Linux. В 10g он упоминается только в init скриптах. Кто нибудь знает почему это так случилось ?


Linux rac1.ru.oracle.com 2.6.18-8.el5PAE
Oracle Release 11.1.0.6.0
file $ORACLE_HOME/bin/oracle ELF 32-bit


ls -l /u01/app/oracle/product/11.1.0/crs_1/bin/oprocd
-rwxr-x--x 1 oracle oinstall 87641 Jul 27 03:06 /u01/app/oracle/product/11.1.0/crs_1/bin/oprocd



Linux rac1.ru.oracle.com 2.6.18-53.el5
Oracle Release 10.2.0.3
file $ORACLE_HOME/bin/oracle - ELF 64-bit


нет файла oprocd !


Linux rac1.us.oracle.com 2.6.9-55.0.0.0.2
Oracle Release 10.2.0.3.0
$file /u01/app/oracle/product/10.2.0/db_1/bin/oracle ELF 32-bit LSB executable

нет файла oprocd !


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

Clusterware, Linux 5 and raw devices

Хочу вернуться к теме конфигурирования в Oracle EL 5 и RHEL 5 raw устройств.
Конечно, в первую очередь рекомендуется размещать на raw ocr и voting файлы. Для файлов БД у нас есть asmlib.

Почему raw - потому, что обращение к этим файлам не идет через filesystem cache, что надежнее и быстрее (для этого типа файлов).

Есть правда другой вариант - можно открывать файлы с флагом O_DIRECT - что, кажется также позволяет избежать доступа через filesystem cache.

Мне не удалось понять, зачем в 5 версии Linux Red Hat убрал поддержку raw. Но это и не важно. Важно что судя по многочисленным источникам в интернете в clusterware 10gR2 существует баг (см. также Note:401132.1), из-за которого файлы на блочных устройствах не открываются с флагом O_DIRECT.

Предлагаемый workaround такой:

Как пользователь root на всех узлах
mkdir /dev/raw

Для VOTING файла (/dev/sdd1)

добавьте строчки в файл (создайте файл) /etc/udev/rules.d/61-local-raw.rules
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw1 %N"
KERNEL=="raw1", OWNER=”oracle”, GROUP="oinstall", MODE="660"


Для OCR файла (/dev/sde1)

добавьте строчки в файл /etc/udev/rules.d/61-local-raw.rules
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw2 %N" KERNEL=="raw2", GROUP="oinstall", MODE="640"


Конечно, хотелось бы проверить информацию о вышеупомянутом баге. Но я не нашел простого способа :( Решил посмотреть как отрываются raw устройства:

uname -a
Linux rac1.ru.oracle.com 2.6.18-53.el5 #1 SMP


lsof /dev/raw/raw2

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
evmd.bin 3737 oracle 5r CHR 162,2 7078 /dev/raw/raw2
evmd.bin 3737 oracle 7r CHR 162,2 7078 /dev/raw/raw2
crsd.bin 3875 root 6r CHR 162,2 7078 /dev/raw/raw2
crsd.bin 3875 root 10r CHR 162,2 7078 /dev/raw/raw2
crsd.bin 3875 root 12u CHR 162,2 7078 /dev/raw/raw2
oclsomon. 4112 oracle 4r CHR 162,2 7078 /dev/raw/raw2
ocssd.bin 4229 oracle 4r CHR 162,2 7078 /dev/raw/raw2

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

Интересную информацию поставляет /proc//fd/ но флагов нет и там.

И вот тут надо либо использовать strace, либо аналог команды Solaris pfiles. С помощью strace можно что-то понять только если процесс открывает и закрывает файл. А если он держит его открытым - то фиг. С помощью

strace -e trace=open,read,write -p

ничего выяснить мне не удалось. pfiles под Linux нет. Оказалось правда, что Eugene Teo написал утилиту pfiles, но на systemtap. Но справиться с ее установкой мне , увы не удалось.




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

Oracle Upgrade companion

Metalink Note:466181.1 ведет на прекрасную страничку посвещенную миграции с 9i на 10gR2.
Огромное кол-во информации, которую надо собирать по документации собрано вместе, в удобном интерфейсе.
Мгновенно, можно например получить информацию, что при сборе статистике теперь для method_opt вместо FOR ALL COLUMNS SIZE 1 в 9i теперь FOR ALL COLUMNS SIZE AUTO.

Есть даже пошаговое описание процесса миграции !

Наставиваю, чтобы Вы просмотрели эту информацию если Вы мигрируете на 10gR2.
Экономия времени для Вас будет огромная.


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

Itanium Servers With Montecito Processors

Спустя год (если я не ошибаюсь) после выпуска процессоров Montecito публика обнаружила старую историю - Oracle Universal Installer падает. То же самое было когда вышел Pentium 4 - слишком старая идет java с OUI.

Формальный ответ что делать Note:400227.1
Как догадаться что у Вас Montecito: Note:401332.1

Но я бы сначала попробовал бы просто:

- install SUN SDK1.4.2_11 JVM (or higher ex: 1.5.x)
- now invoke the OUI using following command
./runInstaller -–jreLoc /jre


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

Семинар Oracle RAC для разработчиков

14-15 февраля уже 2008 года в Москве будет проводится двухдневный семинар для крупных заказчиков (Large Customers) и системных интеграторов (SI). Семинар будет интересен администраторам, разработчикам, системным архитекторам. Будут (я надеюсь) приглашенные RAC гуру. Мы постараемся сделать как можно больше демонстраций.

Чуть позже я выложу агенду семинара, но безусловно это событие должно быть Вам интересно, если Вы планируете перевод своей системы в RAC. Контент разрабатывается с тем, чтобы было интересно всем участникам команды.

Если Вы хотите участвовать, но ваша компания не проходит по категории (ISV, SI) можно попробовать обратится к Сергею Данилову (sergey.danilov)

Чуть не забыл, это будет полностью бесплатный семинар, включая полноценные обеды.

Update1: Сергей попросил уточнить, что это мероприятия для крупных заказчиков и системных интеграторов. Для ISV будет отдельное мероприятие, чуть позже.

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


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

ISV migration center

В Москве прошло офицальное открытие ISV migration center. Это значит, что ISV партнеры получили возможность протестировать свои приложения на настоящем железе: 5 узловой RAC кластер + 5 узловой IAS кластер. Операционную систему (Linux, Windows) Вы сможете выбрать сами.

Семинары в ISV MC будет читать Игорь Мельников (igor.melnikov).

You are welcome !

Чтобы получить возможность тестирования Вы (если Вы ISV партнер конечно) должны обращаться в Московское представительство Oracle к Константину Новикову и Дмитрию Никитову.


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

Export is desupported in 11g

Оригинальнальная утилиты exp не будет поддерживаться в 11g. Официальная информация в Note:345187.1
Также из документации по 11g : "Original export is desupported for general use as of Oracle Database 11g".


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

Политика лицензирования SE

Оказалось, что политика лицензирования семейства (Standard Edition , SE*) не очень простая.

В частности, продолжают задавать вопросы, а можно ли использовать SE, если в сервер можно поставить 8 сокетов,
но поставлено то сейчас всего 4 ?

Ответ: нет, нельзя. В Software Investment Guide явно упоминается термин maximum capacity of.
Мне кажется, что лучше запомнить эту логику можно, если процесс лицензирования представить себе как двухступенчатый.

1. Убеждаемся, что на данный сервер мы может поставить SE, т.е. число сокетов <= 4 и если можно, то
2. Оплачиваем только установленные процессоры в выше приведенном примере, необходимо оплатить 4 сокета для Enterprise Edition. Если у Вас сервер с 4 сокетами, а установлено всего 2, то необходимо оплатить 2 сокета или (о ужас !) купить минимум 5 пользовательских лицензий. То же самое верно и для RAC для SE - кол-во сокетов в кластере не должно превышать 4, и минимум (ужас, ужас) - все те же минимум 5 пользователей, на весь
кластер. И конечно же не мечтайте разбить Ваш большой SUN на домены и наставить в них SE - это явно запрещено в SIG. Возможно путаница идет из-за того, что публичный прайс-лист перестал содержать дополнительные сноски, теперь необходимо читать SIG, что конечно не все делают.

А если внимательно прочитать SIG, то Вы еще обнаружите, что для RAC на SE Вы обязаны использовать ASM и только Oracle Clusterware (вендорское кластерное ПО не поддерживается)

PS.
Может быть Вам будет интересен и Oracle VM Support Price List ?




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

Oracle RAC 10gR2 for IBM AIX

Теперь в Москве, в IBM Innovation Center'е есть стенд с 10gRAC on IBM AIX 5L.
4 ноды (являющиеся партициями p570), по 2 CPU, по 8 Gb памяти, дискового пространства очень много :)

Если необходимо, этот стенд можно превратить в 11gRAC.

Вы можете обращаться в IBM или в Oracle с целью заказать тестирование своего приложения в данной конфигурации. Надеюсь дальнейший текст убедит Вас что для тестирования лучше взять готовый стенд, а не собирать самим.


Установка 10gR2 на IBM AIX показалось мне достаточно сложной. Серьезное время занимает подготовка, а точнее выбор метода установки:

- over HCMP
- over GPFS
- use only ASM

Для выбранного метода нужно аккуратно перерыть metalink, чтобы осознать текущую ситуацию с сертификацией.

В результате я выбрал самый простой (и надежный путь) - Clusterware размещается на hdisk'ах, данные на ASM (и GPFS по желанию).

В установке мне очень помогли два документа:

- COOKBOOK-V2.0-10gRACR2-ASM-AIX5L-SAN_Storage.pdf
- COOKBOOK-V2.0-10gRACR2-GPFS-AIX5L-SAN_Storage.pdf

Оба содержат слова Quick Installation Guide и по 240 страниц текста :) Написаны сотрудниками Oracle IBM Joint Solution Center в Монпелье. Крайне рекомендую к прочтению при подготовке.

Но следовать им слепо также нельзя - каждый шаг я проверял по:

Oracle® Database
Oracle Clusterware and Oracle Real Application Clusters
Installation Guide
10g Release 2 (10.2) for AIX
B14201-04

В результате, обнаружил пока непонятную для меня вещь:

Если удалить PVID с диска (как настаивают вышеприведенные COOKBOOK), Clusterware не хочет работать с таким диском. Т.е. не проходит root.sh который должен разместить OCR диск. Чтение truss погрузило в мысли о бренности существования, но ничего не дало.

После чтения документации было выполнено

chdev -l hdisk… -a pv=yes


и сlusterware установилось. А вот для ASM дисков PVID не нужны, их действительно рекомендуется снести, тем более что ASM их потом переписывает сама.

К сожалению ни runInstaller, ни cluvfy не проверяют окружение так подробно, как бы хотелось. Так они не смогли проверить версии XlC пакетов

xlC.aix50.rte 7.0.0.4 <---- Ensure versions are not lower
xlC.rte 7.0.0.1 <--- Ensure versions are not lower


что привело к результате к

0509-136 Symbol _Getnumpunct__FPCc (number 105) is not exported from
dependent module /usr/lib/libC.a[ansi_64.o].

Конечно после установки более новой версии все закончилось благополучно.

Моя версия руководства по установке будет чуть позже, но она конечно не такая серьезная как вышеприведенные cookbook.


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

FCF versus TAF

В данной заметке речь идет про Fast Connection Fail-over (FCF) и Transparent Application Failover (TAF), а конкретно чем различаются эти два механизма и какой предпочесть, если есть такая возможность.

Ниже авторский перевод из замечательной книги Oracle Database Programming using Java and Web Services. Курсив мой.

Application-Level Connection Retries. FCF предоставляет приложению возможность решения о повторе попытки соединения в случае сбоя (т.е. можно, получив сообщение, решить, стоит ли выполнять автоматическое переподключение или нет. Например если нельзя восстановить контекст сессии, то стоит сразу выдать ошибку). TAF выполняет переподключение автоматически на уровне OCI/NET без контроля со стороны приложения.

Integration with Connection Cache
. FCF интегрирован с Implicit Connection Cache. Разорванные соединения автоматически инвалидируются (и таким образом не используются, а создаются новые соединения). TAF работает на уровне отдельных соединений и не уведомляет cache о произошедшем сбое.

Event Based. FCF работает поверх ONS, таким образом произошедшие в кластере события быстрее получают как активные, так и неактивные сессии. С другой стороны, TAF базируется на сетевых вызовах (таки образом неактивные соединения не получают сообщения об ошибке пока не сделают вызов). TAF не интегрирован с JDBC connection cache и не обеспечивает балансировку нагрузки во время выполнения.

Load Balancing. FCF и балансировка нагрузки времени выполнения поддерживают событие UP для сервиса, распределяя нагрузку на вновь введеные узлы для и обеспечивая балансировку нагрузки во время выполнения.

Transaction management. FCF автоматически откатывает необходимые транзакции. TAF же требует от приложения явной операции rollback.


Настройка. Для корректной работы TAF следует произвести специфические настройки в ОС, настроить TCP timeout (см. например здесь). FCF одинаково работает в любой среде.



Важно знать, что не следует одновременно конфигурировать оба механизма

"
Note: Do not configure Transparent Application Failover (TAF) with
Fast Connection Failover for JDBC thick clients as TAF processing will
interfere with FAN ONS processing
"

Для дальнейшего чтения всем рекомендую metalink Note:334471.1
и естественно пост автора рекомендуемой книжки.


И только для "настоящих пацанов" рекомендую раздел HA event notification из OCI Programming Advanced Topics, которая рассказыват, как в OCI, работая через TAF получить таки доступ к событиям кластера с помощью подписки на Advanced Queue в отдельном соединении


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

Опрос - Используете ли Вы виртуализацию ?

Хочу Выразить свою признательность всем проголосовавшим.
Из-за небольшого кол-ва голосовавших стоит наверно оченивать результаты не как "используется ли виртуализация или нет ?" а как "если используется то какая"
С большим отрывом победила Vmware - что вполне справедливо. на мой взгляд.

Небольшой анонс: я собираюсь в декабре месяце исследовать возможности Oracle VM и выложить здесь результаты. Насколько я понимаю, первое что будет всех интересовать - это сравнение с Vmware.


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