Oracle TechForum-2008, 5 ноября 2008

UPDATE. Подтверждения регистрации на технические классы и на параллельные сессии были высланы 30 октября. Пожалуйста проверьте свою почту и настройки вашего спам-фильтра.

Пожалуйста не пропустите описание секции Database & Options, ссылку на регистрацию, описание технологических классов и многое другое в этом сообщении ниже !



Пожалуйста, не пропустите 5 ноября 2008 года и наш TechForum-2008 ! Некоторые подробности также приводит cnews.



Могу поделиться, что на секции "Oracle Database 11g - что там внутри" будет, как всегда, неожиданное вступительное слова Сергея Данилова, интересные выступления заказчиков, Active Data Guard, Real Application Testing (см. детали ниже).

Игорь Мельников покажет невероятный пример совместного использования наших опций, я попробую вставить свои 5 копеек в защиту CBO. Наши с Игорем выступления начнутся после 17 часов, так что пожалуйста, запасайтесь бутербродами. Контента у нас много.

И конечно же, не пропустите выступления Сергея Иванович Томина - это будет круто ! Потому, что это всегда круто ! :)

Я чуть не забыл, что также будут демонстрации возможностей нашей Database 11.1.0.7 !
Приходите.

Update 1. Ссылка на программу. Благодаря опечатке, в этой программе я выступаю 4 раза. Это шутка конечно же. Я надеюсь, что google проиндексирует эту страницу и я смогу ее показывать вместо резюме :))))))

Update 2. Ссылка на регистрацию.

Update 3. Дополненения к программе

Database and Options – что там внутри?

Для того, чтобы в реальных проектах успешно использовать все возможности баз данных Oracle, необходимо обладать максимально полной технической информацией о том, как работают опции сервера баз данных. В рамках сессии «Database and Options – что там внутри?» мы постараемся показать новые опции Oracle 11g со всех 360 градусов.

В рамках сессии будут в деталях рассмотрены такие опции, как Active Data Guard, Advanced Compression, Partitioning, RAC, Total Recall и другие. Вы увидите живые демонстрации работы Database Options 11g, которые будут производиться на виртуальной машине Oracle VM. Кроме этого, Вы сможете задать любые вопросы нашим техническим специалистам, познакомиться и завести контакты.

Сергей Томин. Эволюция! Эволюция! Эволюция!

Управление изменениями является наибольшей проблемой для всех нас. Постоянные изменения являются нормой, а не исключением. В данной презентации рассматриваются старые и новые возможности Oracle Database, позволяющие быстро и безопасно внедрять изменения в ваши системы.

Владимир Гусев: Active Data Guard

Active Data Guard – простое, высокопроизводительное решение, которое хранит актуальную копию производственной БД для перенаправления интенсивных запросов, отчетов и резервных копий с производственной базы данных на резервную.


Марк Ривкин: Real Application Testing: Снижение рисков при миграции со старых версий СУБД Oracle

Опция RAT позволяет оценить влияние различных изменений (в HW, OS, настройках Oracle, cтруктуре данных) на работу производственной системы еще до того, как эти изменения будут в нее внесены. Особенно это актуально для оценки влияния миграции на новые версии СУБД Oracle. Теперь можно заранее узнать не появятся ли новые ошибки после миграции, как изменится производительность системы и отдельных запросов после миграции. Можно выявить и заранее настроить ухудшившиеся после миграции SQL предложения

Выступление заказчика: Опыт использования Real Application Clusters

Технология Real Application Clusters позволяет запустить приложения на двух или более компьютерах одновременно, распараллелив нагрузку между ними. На этой сессии наш заказчик поделится с Вами опытом обеспечения высокой доступности бизнес-критичной системы при помощи этой технологии. Вы узнаете как внедрив RAC удалось получить отказоустойчивое решение, при этом оставив производительность в допустимых пределах и чтобы одновременно конечные пользователи ничего не заметили!

Выступление заказчика: Опыт использования Enterprise Manager Grid Control

Enterprise Manager Grid Control является централизованным, интегрированным средством управления экосистемой Oracle из окна web-навигатора. На этой сессии Вы получите информацию из первых рук о том, как удалось решить ряд задач управляемости больших корпоративных систем с помощью функциональности Grid Control. Заказчик приведет несколько реальных примеров использования Tuning Pack, Diagnostics Pack, Configuration Management Pack, Provisioning Pack и Data Masking Pack для решения своих бизнес задач.

Игорь Мельников:Оркестр опций Oracle Database 11g

Наши заказчики уже много слышали Oracle Database Options. Но чаще всего, в работе над проектами, стараются ограничиться лишь одной из них, считая задачу взаимодействия разных опций слишком сложной. В данной презентации Вы познакомитесь на реальном примере с одновременным использованием опций Partitioning, Advanced Compression и Transparent Data Encryption для достижения максимальной производительности и защищенности данных в Oracle Database.

Дмитрий Волков: Oracle Database 11g для профессионалов
Основные проблемы при миграции БД возникают с планами выполнения запросов. То, что отлаживалось не один месяц, может перестать работать в один момент в результате миграции. Именно это, на наш взгляд, часто является барьером к проведению миграции. Механизмы стабилизации планов 11g помогут Вам избежать этой проблемы. Оптимизатор в 11g также обладает расширенными возможностями по генерации оптимальных планов, а также предоставляет новые возможности по управлению статистикой оптимизатора.

Update 4. Описание технологических классов и регистрация на них !


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

RAC DD4D 22-23 октября, Москва, гостиница Катерина

Наш семинар RAC DD4D завершился сегодня. Программа семинара. Материалы семинара (только для слушателей, архиватор winrar 3.80 for windows, размер архива 23 Mb).

На фотографии - 2 Сергея Данилова, с разницей в 5 лет, 2 версии Oracle Database и 1 зуб мурости, но все с той же темой доклада - Oracle RAC.

Еще несколько фотографий (ч/б). Все фотографии (только для участников семинара, 25 Mb, Winrar 3.80 for Windows).














Судя по реакции слушателей семинар им очень понравился. Приведу несколько отзывов:

  • "Был на многих мероприятиях Oracle - это лучшее из всех", ЗАО РНТ
  • "Отличное содержание семинара. Крайне полезная информация, которую тяжело получить из public источников", CBOSS
  • "Очень понравились уровень подготовки докладчиков, выступления заказчиков", RSTYLE
  • "Интересный живой семинар, очень высокий уровень подготовки докладчиков, много примеров и best practice", ПЕТЕР-СЕРВИС
  • "Хорошо подготовленные выступления, ораторы - профессионалы своего дела, много информации, но не нудно, а иногда и весело", IBS
Со своей стороны хочу отметить очень грамотные и полные технических деталей выступления наших заказчиков, уже внедривших у себя RAC. Ребята нашли время для оформления своих достижений в презентации, нашли время приехать и выступить. Большое спасибо ! Эти презентации будут в открытом доступе после нашего TechForum.

Как всегда были на выстоте выступления Eвгения Горбоконенко и Андрей Криушина (RDTEX) и демострации Игоря Мельникова, что также отмечено в анкетах наших слушателей.

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



Первый из них связан с особенностями работы streams в RAC. Пока могу отослать к уже известному мне материалу в этом блоге. Второй связан с поддержкой RAC Weblogic'ом. Пока ответа, я не знаю, опубликую его здесь.

UPDATE 1.
В комментариях Timur приводит полезные ссылки на документацию Weblogic.

Попробую добавить также своих ссылок:
http://www.oracle.com/technology/products/database/clustering/pdf/bestpracticesforxaandrac.pdf
На странице 6 начинается раздел "BEA WebLogic Server 8.1 SP4 MultiPool Patch and Oracle RAC 10g" со слов "WebLogic Server 8.1 SP4 now provides a patch.." после которых ясно, что имеет смысл уточнить версию Weblogic. Далее из note 220970.1
"
The key item here is whether or not they are using XA. If they are using XA (Tuxedo for example), then they should use the DTP service with 10g Release 2. Have the customer review the Best Practices for using XA with RAC on OTN .
If it is not XA then services and Net Service Connection Load Balancing should work fine. They can tune aspects of the recovery such as instance recovery time. Using BEA, they do not get the advanced features such as Fast Connection Failover (FCF) and Runtime Connection Load Balancing
"
И далее цитата нашего product manager "Weblogic would recommend creating multi-pools with a pool for each instance and they will load balance/failover connections across the pools. However you will have to have workload static to an instance, you will not be able to take advantage of running a service on a subset of instances and failover to other instances. At this point, you are probably better off using the Weblogic multi-pools when using weblogic.
"
Еще цитата - "Weblogic не принимает FAN сообщений"

Продолжаю искать информацию....

UPDATE 2.
Презентация по perfomance tuning Streams 11g с OpenWorld. Упомянаются советы изменить commit_serialization, сделать buffered_queue. В деталях описан процесс мониторинга для 10g & 11g, а также как определить события ожидания (вы помните я рассказывал про них ?) для streams конфигурции.
Крайне рекомендуется к прочтению.

UPDATE 3.
Для слушателей выложены материалы семинара. См. Выше по тексту. Если Вы забыли логин/пароль напиши мне с email адреса, который указали при регистрации.


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

RAC DD4D news

Следующий семинар RAC DD4D будет проходить 22-23 октября в Москве, в отеле Катерина. Осталось несколько дней. Этот семинар для партнеров. В этот раз, прежде всего мы стараемся выполнить обещание перед теми, кому отказали в прошлые разы, и в первую очередь пригласили их. Есть шанс, что кто-то отказался и осталось еще несколько мест, я не знаю. Знает Виктория Бессонова (victoriya.bessonova), +7 495 641 1400.

Если вы можете объяснить почему мы должны пригласить именно Вас, можете написать мне (dmitry.volkov). У нас есть еще несколько свободных стульев в президиуме. Оттуда отлично все видно и слышно, кстати :))

Update 1.
Начало события в 10:00 оба дня. Мы всегда начинаем вовремя :)
Проезд: Москва, м. Павелецкая, Шлюзовая набережная д6/1, гостиница Катерина. Внимание, у нас будет зал Цельсиус ! Необходимо войти в гостиницу, пройти мимо лифтов, выйти в дверь на улицу и войти в дверь в здании напротив. Последняя агенда (subject to last minute change).


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

11.1.0.7

Выход патча 11.1.0.7 уже не новость, но лично для меня пока не очевидно, что он приносит нам нового. Пока я знаю 2 новости:

- Выход Universal Connection Pool for Java ( including JDBC, JNDI, LDAP, JCA, etc).
Attached a deprecation notice of the existing implicit connection cache, to
be included in Oracle Database 11g R2 Readme.

Oracle Database 11g UCP Downloads

Один из разработчиков на нашем семинаре жаловался на то, что существующий pool не удобен, что есть реализации удобнее. Видимо не он один это заметил, и вот ответ.

- в 11.1.0.7 уже включены необходимые патчи для использования SPA при upgrade с более ранних релизов (10.2.x.x., 9.2.0.8).



Обратите внимание, как можно использовать Database 11g при обновлениях с 9i на 10gR2. Replay Driver отправляет на выполнение запросы в 10g, а результат анализируется с помощью SPA на 11g. На систему 10g нужно ставить патчи, или иметь версию 10.2.0.4, на систему 11g нужно ставить патчи, или иметь версию 11.1.0.7



Metalink Notes:
560977.1
562899.1

На Oracle TechForum эту тему подробно раскроет Марк Ривкин (Mark.Rivkin).


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

Пакет UTL_FILE в RAC

Недавно один из партнеров-разработчиков задал мне вопрос относительно работы с пакетом UTL_FILE в среде RAC.
Действительно: вопрос интересный. Давайте разберемся.



В качестве тестового стенда я буду использовать наш RAC 11g VMWare Image.
Итак, для начала, мы создаем каталог на локальном диске первого узла:

   rac1-> mkdir /u01/app/oracle/admin/racdb/log_dir
rac1->


Затем создаем объект-директорию (directory) в СУБД:
  rac1-> sqlplus / as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on Sun Oct 12 12:18:06 2008

Copyright (c) 1982, 2008, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, Real Application Clusters and Real Application Testing options

SQL> create directory log_dir as '/u01/app/oracle/admin/racdb/log_dir';

Directory created.

SQL> grant read, write on directory log_dir to rscott;

Grant succeeded.

SQL> exit;


Теперь, подключившись к первому узлу, попробуем записать файл в наш каталог log_dir:
  C:\>sqlplus rscott/rtiger@rac1

SQL*Plus: Release 11.1.0.7.0 - Production on Sun Oct 12 12:22:33 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, Real Application Clusters and Real Application Testing options

SQL>
SQL> declare
2 v_xFile utl_file.file_type;
3 v_xLine varchar2(32) := 'Hello World!';
4 begin
5 v_xFile := utl_file.fopen('LOG_DIR', 'test.log' , 'a');
6
7 utl_file.put_line(v_xFile,v_xLine);
8
9 utl_file.fflush(v_xFile);
10 utl_file.fclose(v_xFile);
11 end;
12 /

PL/SQL procedure successfully completed.

SQL> exit


Проверим наш файл на файловой системе первого узла:

rac1-> more /u01/app/oracle/admin/racdb/log_dir/test.log
Hello World!
rac1->
как видите: пока никаких проблем!

Давайте попробуем записать в этот каталог файл с второго узла (здесь и далее вывод утилиты SQL+ сокращен для удобства восприятия):

C:\>sqlplus rscott/rtiger@rac2

SQL>
SQL> declare
2 v_xFile utl_file.file_type;
3 v_xLine varchar2(32) := 'Hello World!';
4 begin
5 v_xFile := utl_file.fopen('LOG_DIR', 'test.log' , 'a');
6
7 utl_file.put_line(v_xFile,v_xLine);
8
9 utl_file.fflush(v_xFile);
10 utl_file.fclose(v_xFile);
11 end;
12 /
declare
*
ERROR at line 1:
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 512
ORA-29283: invalid file operation
ORA-06512: at line 5
Мы получаем ошибку: на втором узле нет такого каталога в операционной системе.

Вывод: в RAC необходимо создавать каталоги на разделе файловой системе который виден сразу всем узлам кластера!
Вы можете возразить: "но ведь я могу создать одинаковые каталоги на всех узлах". Да, - можете, но для того, чтобы найти ваш файл, нужно будет обойти все узлы кластера, и поэтому работа с файлами сильно усложниться.

В нашем случае: создадим каталог в разделе который примонтирован к всем узлам; в качестве файловой системе используется OCFS:

rac1-> mkdir /ocfs/log_dir
rac1->

Переопределим нашу директорию LOG_DIR, чтобы она указывала на новый каталог

rac1-> sqlplus / as sysdba

SQL> create or replace directory log_dir as '/ocfs/log_dir';

Directory created.

И теперь снова попытаемся записать в этот каталог с второго узла:

C:\>sqlplus rscott/rtiger@rac2

SQL>
SQL> declare
2 v_xFile utl_file.file_type;
3 v_xLine varchar2(32) := 'Hello World!';
4 begin
5 v_xFile := utl_file.fopen('LOG_DIR', 'test.log' , 'a');
6
7 utl_file.put_line(v_xFile,v_xLine);
8
9 utl_file.fflush(v_xFile);
10 utl_file.fclose(v_xFile);
11 end;
12 /

PL/SQL procedure successfully completed.



Проверим наличие нашего файла с первого узла:

rac1-> more /ocfs/log_dir/test.log
Hello World!
rac1->
Все замечательно работает!

Но как быть, если в моем кластере нет разделяемого тома с кластерной файловой системой ?

Эту ситуацию мы рассмотрим в следующей серии (т.е. посте). :-)
Выход есть, и он не требует покупки и установки дополнительного софта !



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

LoadBalance for RAC

Спешу сообщить, что выпущена новая версия утилиты для тестирования балансировки нагрузки в момент соединения в среде RAC - LoadBalance.
Номер этой версии - 11.1.0.6 :-).

C:\>LoadBalance.exe help=y
 



LoadBalance: Release 11.1.0.6 - Production on 11.10.2008 11:15:36
 
Utility for check of Oracle RAC load balancing mode
Copyright (c) 2004,2008, Igor Melnikov. All rights reserved.
 
Format: LoadBalance.exe parameter1=value1 [parameterN=valueN]
 
Example: LoadBalance.exe userid=system/manager@rac count=20
LoadBalance.exe userid=system/manager@rac1 count=20
 
Keyword Description (Default)
--------------------------------------------------
COUNT Session count
HELP print this message: Y/N (N)
TIMEOUT Timeout between connections, in sec. (0)
ORACLEHOME Using "OracleHome" for connection
LOGFILE Save output to this
PARFILE Parameter filename
THREADS Parallel degree (for sessions storm) (1)
USERID Connection string
 Вот перечень новых возможностей:
  • появилась возможность задавать многопоточный (multithread) режим открытия сессий, - это позволяет производить "шторм" сессий на листенер и, соответственно, проверять его устойчивость к повышенным нагрузкам;
  • теперь параметры можно задавать через конфигурационный файл, а не только через командную строку;
  • опционально можно сохранять вывод утилиты в текстовый лог-файл;
  • утилита сейчас умеет работать через OCI 11g (в том числе и через Instant Client 11g);

Пока утилита рабоает только на 32-х разрядных ОС MS Windows. В принципе ее можно использовать и для тестирования Single-Node или одноузлового кластера (когда доступен только один узел).

И, в заключение, небольшой RoadMap:
  • Y2008Q4 - версия 11.1.0.7
    • вывод полной диагностики подключений (среднее время открытия сессии на каждом узле, политика балансировки сервиса, основные и резервные узлы сервиса и т.д.);
    • опциональная возможность закрытия сессии сразу после открытия соединения;
    • возможность задания в качестве количества сессий бесконечного числа - для проверки максимального числа соединений, которое выдерживает СУБД;

  • Y2009Q1 - версия 11.2.0.1
    • возможность задания нагрузки после открытия соединения в виде sql-скрипта;
    • возможность опционально указать start и stop sql-скрипты, которые запускаются, соответственно, перед началом и после теста;
    • вывод сообщений от нагрузочных sql-скриптов (вызовы dbms_output) в выходной поток утилиты LoadBalance;

  • Y2009Q2 - версия 11.2.0.2
    • поддержка балансировки через пул соединений (т.н. runtime-балансировка);
    • указание параметров пула соединений для runtime-балансировки;
    • опциональная возможность вывода FAN-сообщений от Load Balancing Advisor в случае runtime-балансировки.



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

RAC DD4D LAB Edition

На следующей неделе стартует первый семинар RAC DD4D LAB Edition. Из названия, надеюсь понятно, что это уже известный Вам RAC DD4D, но с лабораторными работами. Продолжительность курса 3 дня. Лабораторные работы проводятся на настоящем "железе", каждому слушателю выделяется отдельный 2-х узловой кластер и раздел на дисковом массиве NetApp. В лабораторных работах используется тот же образ, что и на семинаре.

На сколько я знаю, это первый в России практический семинар по 11g RAC ! Oracle University еще не успел обновить свой курс.


Существуют 2 особеннности этого события, которые я хотел бы отметить:

1. Ни на одном известном мне курсе по RAC Вам не предоставляется возможности забрать кластер с собой. Здесь Вы можете это сделать
2. Ведут семинар сразу два OCM Мастера Евгений Горбоконенко & Андрей Криушин (RDTEX).


Семинар проводится в рамках Партнерской Академии, а значит курс платный и проводится для партнеров.

Настоящее железо, курс читают два Oracle Master'a, Вы еще не бросились в партнерский отдел Oracle, чтобы попасть на этот курс ? :)

Подсказка: Бросаться надо к ногам Ольги Бородиной (olga.borodina@oracle.com), тел. +7 495 641 14 00


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

Moscow | Oracle Develop | The Premier Developer Event

И не говорите, что не видели вот этого анонса:
Moscow | Oracle Develop | The Premier Developer Event


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

Oracle RAC under Oracle VM

Я уже писал ранее, что 10.2.0.4 с некоторыми ограничениями сертифицирован под Oracle VM. А вот и свежая статья как именно стоит его устанавливать. Тут же Вам наверняка будет интересно, как Использовать Clusterware для защиты Oracle VM Manager.

И поскольку Oracle VM - это бесплатный продукт, мы совершенно не получаем денег за его рекламу :). Просто этот вариант сертифицирован, а значит идеально подходит для разработки и тестирования. С другой стороны, Oracle VM ставится на "голое железо", что может быть не очень удобно для первого ознакомления. Именно поэтому, Игорь Мельников (igor.melnikov) всегда поддерживает параллельно и образы наших машин для VMware.

Семинар по Oracle VM пока отложен - нужно время, чтобы переварить полученные новости.

Update 08.10.2008
Поправлена ссылка на статью. Извините за очепятки.


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

OracleVM 2.1.2 released

На днях вышла новая версия Oracle VM - 2.1.2

В номере версии изменилась лишь третья цифра, но перечень новых возможностей довольно значителен:

  • Secure Live Migration Насколько я понял речь идет о runtime-миграции с одной хост-машины OVM на другую и при этом трафик шифруется;

  • Guest VM HA - автоматический рестарт виртуальных машин в случае падения ВМ или отказа сервера для HA-кластеров OVM;

  • Увеличено число типов поддерживаемых сетевых интерфейсов, также теперь возможно указывать приоритет виртуального диска ВМ в очереди обращений к физическому диску хост-машины OVM, а также можно указывать приоритет и параметы входящего и исходящего трафика ВМ;

  • VMWare V2V - в OVM добавлена утилита конвертации образов виртуальных машин VMWare в формат Oracle VM, раньше для этого приходилось вручную выполнять несколько шагов;

  • P2V - при загрузке с CD-диска OVM появилась возможность автоматически создать образ виртуальной машины соответствующий физическому серверу (т.е. скопировать реальный сервер в виртуальную машину);

  • Появилась официальная сертификация RAC для Oracle VM, и Oracle VM добавлен в матрицу сертификации;


Напоминаю, что Oracle VM, является бесплатным продуктом, и новую версию вы можете сказать по адресу: http://edelivery.oracle.com/oraclevm
Вы можете свободно использовать OVM, дистрибутив не требует никаких лицезионных ключей, не включает никаких ограничений (по числу CPU, по функциональности и т.д.). В случае необходимости Вы платите только за поддержку.


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

RACChecker

Тема разработки и адаптации приложений под RAC очень обширна и многогранна и затрагивает практически все аспекты создания прикладного ПО для СУБД Oracle Database.
Но, тем не менее, для того чтобы гарантировать что ваше приложение корректно будет работать в RAC, необходимо убедиться, что оно не использует технологии и механизмы которые в RAC в не работают.
Вот перечень этих технологий:

  • каналы (пакет DBMS_PIPE) - не синхронизируются между узлами кластера;

  • глобальные контексты приложений - также не синхронизируются между узлами кластера;

  • сигналы (пакет DBMS_ALERT) - сигналы тоже не синхронизируются между узлами кластера;

  • задания управляемые через пакет DBMS_JOB - крайне не рекомендуется использовать в RAC, поскольку задания этого пакета не поддерживают сервисы, и привязка заданий может быть задана только жестко к узлам, при привязке задания к узлу оно не переживает failover текущего экземпляра, при отсутствии привязки задание может выживать после падения узла (начиная с 10.2.0.3) но запускается при этом на произвольном узле.


    Методы борьбы с вышеперечисленными технологиями мы подробно рассматриваем на нашем семинаре RAC Deep Dive for Developers

    Довольно часто приложение имеет большие объемы PL/SQL-кода (сотни тысяч и даже миллионы строк кода), и вспомнить о том, в каком месте используется тот же DBMS_PIPE крайне сложно: код давно отлажен и работает, а его автор уже давно не работает в компании.
    Для того, что облегчить анализ серверной части кода (хранимых процедур PL/SQL) я разработал утилиту RACChecker. Эта утилита поможет быстро ответить на вопрос: готово ли, в минимальной степени, ваше приложение при переходе в RAC.
    RACChecker анализирует ваш исходный код и находит объекты и строки кода, где вы используете технологии, которые в RAC не работают.

C:\RAC\Utils\RACChecker>RACChecker.exe help=y

RAC Checker for ISV: Release 0.0.1 - Development on 14.09.2008 23:29:23

Utility for check correctly PL/SQL for Oracle RAC

Copyright (c) 2008, Igor Melnikov. All rights reserved.


You can control how RACChecker runs by entering the RACChecker command followed
by various arguments. To specify parameters, you use keywords:

Format: RACChecker parameter=value TYPE=value

Example: RACChecker USERID=scott/tiger@orcl TYPE=PIPE
RACChecker USERID=demo/demo@demo TYPE=ALL

Keyword Description (Default)
--------------------------------------------------
SCHEMAS schemas in which check ALL-for all schemas (ALL)
HELP print this message: Y/N (N)
TYPE object type: PIPE,ALERT,CONTEXT,JOB,ALL (ALL)
REPORT_FILE file name for output report
SEQUENCES Show all user sequences (Y)
USERID Oracle connection string


Я думаю, из списка параметров очевидно их назначение.
Следует обратить внимание лишь на следующие моменты:

  • пользователь в строке подключения (параметр USERID) должен иметь права на чтение словаря (dictionary);

  • утилита опционально может находить некэшируемые последовательности (с ними тоже возможны проблемы в RAC);

  • пока не поддерживается анализ зашифрованного кода (с помощью утилиты wrap), т.е. код должен быть скомпилирован в открытом виде;

  • для своей работы утилита требует установленной среды выполнения .NET Framework 3.5, а также ODP.NET Provider 11.1.0.6.21 - рекомендуется установить версию поставляемую с Instant Client - она небольшая по размеру.


Конечно никакого волшебства в работе этой утилиты нет: она всего лишь анализирует соответствующие представления словаря.
Уже есть история успеха (Success Story :-) ):
с помощью этой утилиты мне за пару минут удалось быстро проанализировать 750 тыс. строк кода в приложении нашего партнера-разработчика и определить модули и строки которые вызовут проблемы в RAC.

Надеюсь с помощью RACChecker вы быстро определите проблемные места при переходе в RAC!

Ссылка для скачивания: RACChecker.

P.S. Приветствуются рекомендации и замечания по функционалу ...


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

Your.Open.World - 3

Главная новость - это HP Oracle Database Machine, комплексное решение, включающее hardware & software, для построения хранилищ данных. HP обеспечивает поставку & hardware support, Oracle отвечает за продажу решения.

Собственно решение состоит из двух частей:

1) Grid из 8 Intel серверов, 64 Core, Oracle Interprise Linux

2) HP Exadata Storage Server + Oracle Exadata Storage Software, 14 серверов, до 168 Tb данных.

Просмотреть полную спецификацию. Если я правильно понял, пока решение поддерживает только Linux Grid Cluster (RAC).

Объяснение, зачем все это нужно, на примитивном уровне звучит так: объем данных растет гораздо быстрее чем, пропускная способность. Дисковый массив передает огромный массив данных, который затем обрабатывает сервер БД. Узкое место - здесь передача даных от массива на сервер.

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

Как это работает на самом деле ? Что за software поставили на дисковый массив ? Я не знаю. Из вышеприведенных ссылок следует, что в состав exadata storage software входит ASM. Поскольку ASM инстанс всегда нес в себе полный набор кода базы данных, ничего не мешало, скажем, научить этот экземпляр разбираться с sql запросами. Последнее утверждение - моя личная догадка.

Вдумайтесь, это уже факт, Oracle начинает продавать hardware ! Мне кажется это революционный шаг. Очень рекомендую посмотреть презентацию Larry Ellison.

PS На фотографии, Database Mashine, крупным планом. Интересно, что Google нашел первую ссылку, посвещенную событию уже через 11 минут после завершения конференции.



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

Your.Open.World - 2

На Open World начинаются анонсы новых продуктов/версий/возможностей.

Charles Phillips представил Oracle Beehive, рассказал про патч 11.1.0.7 для Linux 32/64, новый интерфейс metalink.

Bob Thome, наш директор по разработке RAC рассказал про свое видение Grid 2.0, добавив, что RAC 10.2.0.4 теперь сертифицирован под Oracle VM. Возможно на metalink эта информация дойдет позже, но это уже факт. Подробности я доложу на своем семинаре по Oracle VM 16 октября (здесь будет ссылка на регистрацию). Ребята из HQ поделились со мной презентацией, причем доделали ее прямо на моих глазах. Так что, пожалуйста приходите на семинар, будет интересно.

Не пугайтесь, улышав слова Oracle Cloud Computing : это возможность хостить БД на платформе Amazon Elastic Compute Cloud. Насколько я понял там своя виртуальная платформа, поэтому и свои правила лицензирования. Опять таки, насколько я понял, виртуальная машина должна быть загружена на площадку Amazon, Вы имеете доступ к ней через internet.

Основную новость мы все ожидаем услышать на презентации нашего CEO, Larry Ellison 24 числа. Все пока держится в очень строгом секрете.


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

Your.Open.World.

Сегодня первый полный день конференции OpenWorld. San Francisco полностью захвачен Oracle'истами. Везде в центре города люди с беджейками конференции. Основной удар в первый же день принял на себя Tom Kyte, прочитавший аж два доклада, практически подряд. Оба, конечно, вызвали интерес большого кол-ва слушателей. Материалы он обещал разместить на своем блоге.











На фотографии - Tom Kyte, в новом в обществе Сергея Данилова и меня, Дмитрия Волкова. Tom услышав, что мы из России, сразу же пошутил "Как же знаю эту страну. У Вас богатый язык.. Вы еще сделали перевод моей книги. Когда мне ее показали, я удивился, что она такая большая. Но мне сказали что это только первый том". Не буду скрывать, что воспользовался растерянностью Tom'а и пожал ему руку. Чем очень горжусь.

Конечно же мы обсуждали новый семинар Database Options Details и предложили выделить Tom'у любое удобное ему время для выступления. Он обещал подумать :)

PS На заднем фоне Bryn Llewellyn, наш PL/SQL product manager со своей презентацией про правила разработки на pl/sql.


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

Материалы семинара DATABASE OPTIONS DETAILS

Семинар был проведен в 18 сентября в отеле "Катерина".

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

Однако прошу Вас внимательно прочитать этот абзац, перед тем как скачать семинар. Пожалуйста, скачайте семинар только, если Вы не рассчитываете на него попасть в ближайшие пол-года. Слайды не дают полного представления о том, что происходит в зале. Одним из самых интересных моментов являются вопросы слушателей, которые, конечно, остаются вне рамок собранного архива. Если Вы планируете зарегистрироваться на "версию 2" семинара (или уже зарегистрировались на 1 версию), убедительно просим Вас не скачивать материалы. Вы не сможете получить от него удовольствие. "Версия 2" состоится предположительно 20 ноября. Вне всякого сомнения мы учтем в ней полученный опыт и серьезно ее улучшим.

Сами материалы вы можете скачать по этой ccылке
. Материалы семинара версии 1 больше недоступны. Регистрируйтесь на версию 2. Следите за новостями в этом блоге

PS
Действительно, нам не удалось выдержать обещанное расписание - семинар затянулся. В первую очередь потому, что мы старались ответить на все вопросы из зала. Угадать заранее сколько будет вопросов - очень сложно. С другой стороны - если Вам интересна тема, я бы лично слушал и до 9 часов и даже дольше. Возможность уйти в перерыве у Вас всегда сохраняется.


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

Семинар DATABASE OPTIONS DETAILS

Те, кто из Вас регистрировались на семинар DATABASE OPTIONS DETAILS должны были получить от нас письмо. Если в письме в subject стоит Good News, приходите, мы Вас ждем. Если BAD News - мы Вас также ждем, но позже, 20 ноября, на второй версии семинара.

Из-за большого кол-ва заявок нам пришлось выбрать алгоритм, по которому мы отсеивали участников. В частности, мы приняли решение пускать не более 2-х человек из компании. Конечно, принимая в расчет, что компании бывают очень разных размеров, это не слишком справедливо. Но, зато, внутри компании, Вы сами можете выбрать 2-х самых достойных представителей - т.е. мы не будет проверять, что из компании пришли именно те, кому мы разослали Good News письма. Досточно принести нам подтверждение, присланное вашему коллеге, который не смог, или не захотел прийти. Но помните, что 2 человека от компании - это 2 человка от компании :)

В программе произошли небольшие изменения - мы добавили Выступление Евгения Горбоконенко (RDTEX) - "Использование опций для миграции в среду RAC".

Если мероприятие пройдет удачно и понравиться Вам, мы предполагаем продолжить практику с семинара RACDD4D, когда после массовых мероприятий семинары проводились специально по просьбе отдельных парнеров.

PS.
Большая просьба указывать при регистрации свой рабочий email, а не личный почтовый ящик на mail.ru, yandex, или gmail. Пожалуйста укажите также свой телефон, мобильный или рабочий, чтобы мы смогли с Вами связаться. Пока это просьба, но в будущем, я надеюсь, мы будем учитывать корректность заполнения при определении кандидатур на семинары.


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

RAC PL/SQL API

Часто у PL/SQL-разработчиков возникают вопросы при программировании в среде RAC. Ниже я попытаюсь на них ответить.

1) Как программно определить: выполняется ли мой PL/SQL-код в RAC-database или в Single Node ?

Ответ: для этого в пакете DBMS_UTILITY есть логическая функция IS_CLUSTER_DATABASE; она возвращает значение ИСТИНА, если выполнение происходит в БД запущенной в кластере.


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

SQL> begin
2 if dbms_utility.is_cluster_database then
3 dbms_output.put_line('I am in cluster');
4 end if;
5 end;
6 /
I am in cluster
2) Как программно определить узел, на котором в данный момент времени выполняется мой PL/SQL-код?
Ответ: Для этого можно применить функцию CURRENT_INSTANCE из того же пакета DBMS_UTILITY. Эта функция просто возвращает номер экземпляра БД, на котором работает ваша сессия.
SQL> exec dbms_output.put_line(dbms_utility.current_instance);
1
Есть второй способ: прочитать значение переменной INSTANCE из стандартного контекста сессии USERENV.
Ну а как прочитать это значение, вы прекрасно знаете - с помощью вызова SYS_CONTEXT('USERENV','INSTANCE')

3) Как программно определить список "живых" узлов кластера ?
Ответ: Для этого в замечательном пакете DBMS_UTILITY есть процедура ACTIVE_INSTANCES, которая через out-переменные возвращает список активных в данный момент узлов кластера.

SQL> begin
2 v_xTable dbms_utility.instance_table;
3 v_xCount pls_integer;
4 begin
5 dbms_utility.active_instances(v_xTable,
6 v_xCount);
7
8 for v_xIndex in 1..v_xCount
9 loop
10 dbms_output.put_line(v_xTable(v_xIndex).inst_number ||
11 ' => ' ||
12 v_xTable(v_xIndex).inst_name);
13 end loop;
14 end;
15 /
1 => rac1.us.oracle.com:racdb1
2 => rac2.us.oracle.com:racdb2
Обратите внимание, что в список попадут только "живые" узлы. Второй момент: имя узла возвращается в таком виде: полное имя хоста c именем экземпляра через символ двоеточия.

3) Если я включу в свои хранимые PL/SQL-процедуры RAC-specific код, то мне нужно каждый раз переключаться между двумя ветками кода через IF-оператор и вызовы IS_CLUSTER_DATABASE. Это замедлит быстродейстивие и приведет к раздуванию кода ! Если же я сделаю два варианта хранимой процедуры: один - для Single Node, второй - для RAC, то это означает что мне одновременно придется поддерживать две версии моего кода.
Есть какое-нибудь решение этой проблемы ?

Ответ: Решение есть, и очень элегантное. Для этого используется условная компиляция.
Сначала вы создаете символ условной компиляции в виде логической константы спецификации пакета:

create or replace package RAC_SERVICE is
Is_RAC_Database constant boolean := true;
end;


Затем через условную компиляцию вы оформляете куски кода специфичные для RAC:

create or replace procedure create_my_pipe
x number;
begin
$if RAC_SERVICE.Is_RAC_Database $then
x := rac_pipe.create_pipe('MY_PIPE');
$else
x:= dbms_pipe.create_pipe('MY_PIPE');
$end
end;

Преимущества:

  • не нужно сопровождать две версии исходного кода и устраняются проблемы связанные с этим;
  • переключение кода в Single Node производится простой заменой константы Is_RAC_Database в пакете RAC_SERVICE, с последующей его перекомпиляцией; "реинкарнацию" остального кода в Single Node - режим автоматически будет произведена самой СУБД;
  • в выполняемый код PVM (PL/SQL Virtual Machine) будут скомпилированы только те исходные тексты, которые специфичены для текущего режима работы (Single Instance или RAC).


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

Service support in Datapump 11g

При работе в RAC много вопросов вызывает Datapump.
Вот только некоторые из них:
- на каком узле кластера будет формироваться dmp-файл ?
- на каком или на каких узлах кластера будут выполняться задания (job-ы) Datapump ?
- не нарушит ли работа Datapump распределение нагрузки спланированное с помощью сервисов ?

Наконец-то многие вопросы в 11g сняты:
Datapump в Oracle Database 11g поддерживает сервисы!

То есть теперь, при выполнении экспорта/импорта, вы можете привязать процессы Datapump к определенному сервису.
С помощью сервиса вы можете, например, жестко привязать процессы экспорта/импорта к определенному узлу, или же ограничить объем необходимых ресурсов с помощью Resource Consumer Group.

Единственная тонкость: данная возможность доступна только через Datapump API (т.е. через пакет DBMS_DATAPUMP). В утилитах expdp/impdp нет возможности указать имя сервиса. :-)

Для привязки к сервису, в процедуре DBMS_DATAPUMP.START_JOB, добавился новый параметр: service_name. Вот небольшой пример выполнения экспорта через API (т.е. прямо из приложения), при этом экспорт выполняется в рамках сервиса:


declare
v_xHandle number;
v_cDmpFileName constant varchar2(64) := 'apexdemo.dmp';
v_cLogFileName constant varchar2(64) := 'apexdemo.log';
v_cDirectory constant varchar2(64) := 'DATA_PUMP_DIR';
begin
v_xHandle := dbms_datapump.open(operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => 'APEXDEMO_EXPORT',
version => 'COMPATIBLE');

dbms_datapump.metadata_filter(handle => v_xHandle,
name => 'SCHEMA_EXPR',
value => 'IN (''APEXDEMO'')');

dbms_datapump.add_file(handle => v_xHandle,
filename => v_cLogFileName,
directory => v_cDirectory,
filetype => 3);

dbms_datapump.add_file(handle => v_xHandle,
filename => v_cDmpFileName,
directory => v_cDirectory,
filetype => 1);

dbms_datapump.start_job(Handle => v_xHandle,
service_name => 'DP_SERVICE');
dbms_datapump.detach(v_xHandle);
end;


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

Clusterware Cloning

О том, что поставить кластер не очень просто я уже писал ранее. А вот что делать, если нужно их поставить скажем десяток-другой ?

- Можно ставить их все через Universal Installer, не забывая затем накатывать все полагающие патчи (10.2.0.4, CPU)
- Можно записать responce file. Будет чуть проще чем предыдущий вариант, но патчи все равно накатывать вручную придется.
- Можно использовать Provisioning Pack из состава Oracle Enterprise Manager. Если Вы его купили.
- Можно использовать clone.pl. Об этом способе и пойдет дальше речь.

Итак, нам необходимо

1. Установить Clusterware и накатить все патчи.
2. Остановить его
crsctl stop crs
3. Почистить от мусора
[root@node1 crs]# rm –rf ./log/ <= is name of cluster
[root@node1 crs]# find . -name '*.ouibak' -exec rm {} \;
[root@node1 crs]# find . -name '*.ouibak.1' -exec rm {} \;
[root@node1 crs]# rm –rf ./cdata/*
[root@node1 crs]# rm –rf root.sh*
[root@node1 crs]# cd cfgtoollogs
[root@node1 cfgtoollogs]# find . -type f -exec rm -f {} \;

4. Свернуть (tar+gzip) и развернуть на узлах нового кластера. Версия и патчи OS конечно же должны совпадать с оригинальным кластером. Также должны быть заведен пользователь oracle и все необходимые группы.

5. Запустить clone.pl У clone.pl всего 11 параметров - 3 переменные окружения и 8 параметров которые передаются инсталлеру.


ORACLE_BASE=/opt/oracle
E01=ORA_CRS_HOME=/opt/oracle/product/10gR2/crs
E02=ORACLE_HOME=${ORA_CRS_HOME}
E03=ORACLE_HOME_NAME=OraCrs10g
#C00="-O'-debug'"
C01="-O's_clustername=crscluster'"
C02="-O'INVENTORY_LOCATION=/opt/oracle/oraInventory'"
C03="-O'sl_tableList=\"{node1:node1int:node1vip:N:Y,node2:node2int:node2vip:N:Y}\"'"
C04="-O'ret_PrivIntrList=\"{eth0:144.25.212.0:1,eth1:10.10.10.0:2}\"'"
if [ ${VOTEMIRROR} -eq 0 ]; then
C05="-O'n_storageTypeVDSK=2'"
C06="-O's_votingdisklocation=/dev/sdc1'"
else
C05="-O'n_storageTypeVDSK=1'"
C06="-O's_votingdisklocation=/dev/sdc1' -O's_OcrVdskMirror1RetVal=/dev/sdd1'
-O's_VdskMirror2RetVal=/dev/sde1'"
fi
if [ ${OCRMIRROR} -eq 0 ]; then
C07="-O'n_storageTypeOCR=2'"
C08="-O's_ocrpartitionlocation=/dev/sdc2'"
else
C07="-O'n_storageTypeOCR=1'"
C08="-O's_ocrpartitionlocation=/dev/sdc2' -O's_ocrMirrorLocation=/dev/sdd2'"
fi
perl $ORA_CRS_HOME/clone/bin/clone.pl $E01 $E02 $E03 $C01 $C02 $C03 $C04 $C05 $C06 $C07 $C08


6. Дальше нам нужно на всех узлах запустить /opt/oracle/oraInventory/orainstRoot.sh

7. Дальше $ORA_CRS_HOME/root.sh

8. $ORA_CRS_HOME/cfgtoollogs/configToolAllCommands


И все было бы волшебно, но описанный в документации метод вызова clone.pl для платформы Windows не вполне правильный. Читайте Note:444617.1


И я кажется забыл про базу данных ? Действительно, было бы неплохо ее переименовать - см Note:464922.1. И не забудьте внести изменения в listener.ora.

Я также уверен что database control не переживет таких изменений. Вам придется пересоздать репозиторий. Хотя конечно, управлять несколькими кластерами следует через Database Grid Control.

Spatial Thanks to Philip Newlan, Oracle Corp, RAC PACK team.


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

Внутренняя статистика

Несколько занимательных цифр:

51% всех загрузок Oracle Database с otn.oracle.com приходится на платформу Windows
Для Windows кол-во загрузок 11g стало превышать кол-во загрузок 10g.
Для Linux кол-во загрузок 11g & 10g примерно равны.

Oracle SQL Developer скачивает каждый второй, из тех, кто скачивает Database.

Среди стран, заметно участвующих в загрузке продуктов США, Индия и Китай. Англия, Германия и Бразилия догоняют. Нас не видно. Стыдно должно быть, товарищи. Идите и скачайте что-нибудь немедленно ! :)

Абсолютное лидерство по кол-ву SR занимет 10g. 9i заметно сдал позиции. 11g вышел на некоторый, уже заметный уровень. Тенденция однако.



PS
Абсолютных цифр я, конечно же, приводить не буду :)


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

Oracle | Linux | Virtualization

Понравилась подборка ссылок:

Oracle Linux Home Page: http://oracle.com/linux
Linux Technology Center: http://www.oracle.com/technology/tech/linux/
Unbreakable Linux Network: https://linux.oracle.com
Unbreakable Linux Network: An Overview: http://www.oracle.com/technologies/linux/uln-whitepaper.pdf
Oracle VM Home Page: http://oracle.com/virtualization
Virtualization Technology Center: http://www.oracle.com/technology/tech/virtualization/
Oracle VM Wiki: http://wiki.oracle.com/page/Oracle+VM?t=anon
Oracle VM templates http://www.oracle.com/technology/products/vm/templates.html


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

10.2.0.4 for Windows

Возможно вы заметили, что в июле обновился патч 10.2.0.4 for Windows. Беспокоится не надо, объяснение в Note 726418.1. Старый патч перетирал sqlnet.ora, теперь это исправили. Кажется это все изменения.


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

Мне удалось вернуться из небольшого отпуска. На этот раз в Киргизии. Было достаточно приколько после +30 в Бишкеке попасть под снег на высоте порядка 3000 метров. Я весь обхохотался прям в своем спальнике весом 1.2 кг рассчитаном на плюсовую температуру :)))

В Киргизии в горной части много иностранцев. Удалось поболтать с французами. На французском между прочем. Итальянская пара с гордостью показала мне что они уже проехали 8,500 км на своем landrover'е и им еще предстоит возвращаться домой. Дедуля голландец на велосипеде посетовал, что почему-то в горах нет магазинов и мы подарили ему лепешку хлеба, после того как закончили хохотать - до близжайшего магазина было 200 км....

Все фотографии с отпуска

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

За отпуск я получил много писем - на все отвечу в течении этой недели. Не волнуйтесь.

Как Вы наверно заметили, во время моего отпуска продолжилась публикация в блоге благодаря Игорю Мельникову. Надеюсь, что благодаря совместной деятельности этот блог станет еще интересенее....


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

Oracle Embedded Installation

Судя по тому, что материалы семинара "Upgrade to 10g" пользуются большой популярностью, я предлагаю продолжить идею публикации информации в таком формате.


На этот раз, вашему вниманию представлен мой практический семинар "Встраивание Oracle Database в собственное приложение".
В ходе семинара рассматриваются вопросы полноценного развертывания ПО и БД Oracle внутри инсталлятора стороннего приложения, включая:


  • установка бинарных файлов ПО Oracle Database в silent-режиме;
  • установка бинарных файлов ПО Oracle Database PatchSet в silent-режиме;
  • установка бинарных файлов Oracle Database CPU [Critical Patch Update];
  • автоматическое разворачивание БД из эталонного клона с помощью silent-режима DBCA [Database Configuration Assistant];
  • контроль за процессами установки вышеперечисленных компонентов с помощью файлов мониторинга и журналов установки.
Таким образом, установка и конфигурирование ПО Oracle полностью может быть автоматизирована в инсталляторе вашего приложения !


Немногие кстати знают, что у корпорации Oracle есть специальный вид лицензирования для компаний-разработчиков: ESL - Embedded Software Licence - лицензия на встроенное ПО. По лицензии ESL, ПО Oracle продается с огромной скидкой ! По данному виду лицензирования ПО Oracle встроено в приложение и должно быть полностью невидимо для пользователя.

Собственно о том, как этого добиться рассказывает этот семинар . :-)

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


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

Семинар DATABASE OPTIONS DETAILS


Семинар Database Options Details состоится 18 сентября (а не 11, как я писал раньше). Прочитайте программу семинара. Важно: регистрация на это событие откроется в середине следующей недели. Точная ссылка появиться в этом сообщении.



На фотографии Сергей Данилов (Sergey.Danilov), наш директор по опциям, рассматривает настоящий двигатель Конкорда, и думает о деталях. Деталях опций нашей БД :) :-)


UPDATE 1
На сайте oracle.com началась регистрация на это событие.

Для того чтобы зарегистрироваться: перейдите по данной ссылке
и в правом верхнем углу нажмите кнопку "Регистрируйтесь сейчас"


Увидимся 18 сентября !
:-)



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

Oracle RAC 11g Oracle VM template

Можно скачать наш образ Oracle RAC 11g под Oracle VM. Убедительно прошу вас прочитать readme.txt. Не бойтесь поставить Oracle VM - это очень просто.
Да, RAC под Oracle VM пока не поддерживается официально. Но процесс идет. Данная конструкция уже сейчас предоставляет широчайшие возможности для тестирования ваших решений. Вы легко можете раскидать виртуальные узлы по разным физическим машинам, установить выделенный и производительный NFS сервер. В целом, из 'игрушки' под управлением VmWare для администратора получается нормальный кластер для группы разработчиков.

PS
'Игрушку' мы также сохранили.


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

Анонс предстоящих мероприятий

Поскольку календарь мероприятий на официальном сайте замер примерно в районе мая месяца по независящим от нас причинам, думаю будет правильно опубликовать календарь мероприятий для парнеров до ноября этого года. Очень важно, чтобы вы понимали - это предварительный список, даты мероприятий могут и будут изменяться. Юлия Иванова (julia.ivanova) обещает, что в кратчайшие сроки правильнй календарь появится на официальном сайте, в разделе для парнеров, и Вы сможете начать регистрироваться.

Хочу обратить ваше внимание на семинар по новым опциям 11g заявленный на 11 сентября 18 сентября. Скоро наши партнеры получат как всегда незабываемое приглашение на этот семинар от Сергея Данилова (sergey.danilov). Это будет семинар, как пишут в голливудских фильмах "От создателей RACDD4D", так сказать. Окончательную дату этого семинара я опубликую на этой неделе.

UPDATE 1.
Семинар состоится 18 сентября.


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

Upgrade на 10g

Игорь Мельников (Igor.Melnikov) представляется вашему вниманию полноценный семинар по миграции на 10g. Архив включает презентации, методички к лабораторным работам, а также все исходные тексты используемых в лабораторных работах скриптов. Конечно все прогрессивное человечество готовится к миграции на 11g, но если по какой-то причине вы относите себя к любителям старины - этот семинар для Вас :). Шутка конечно. Просто одна известная компания приучила всех пользователей, что раньше 2 Service Pack пользоваться ее продуктами нельзя. Так эта мысль так крепко засела, что многие ждут 11gR2. И очень зря, надо сказать. Хотите знать почему нужно мигрировать сразу на 11g ? Если Вы партнер Oracle не пропустите 11 сентября этого года и семинар по новым опциям, а если заказчик - 5 ноября и Oracle Technology day !


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

11g online duplication

Вадим Гусев (Vadim.Gousev) сделал демонстрацию в формате flash, как, не останавливая БД , скопировать ее на этот же или другой компьютер. Работает это возможность начиная с 11g. Для демонстрации Вадим использовал платформу Windows и пользовался исключительно командной строкой.


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

RACDD4D

Прямо сейчас у нас проходит наш семинар RACDD4D для некоторых наших партнеров в нашем офисе в Москва-Сити. Это первый семинар, который мы проводим на Oracle RAC 11g, виртуальные узлы OEL 5U1 под Oracle VM, с данными на NFS.

Слушатели как всегда могут скачать данный семинар по следующей ссылке.

Слушатели задали интересный вопрос - почему когда мы опускаем в демострационных примерах один из инстансов Clusterware ее не поднимает?

Ответ, - поднимает, но проверяет состояние БД 1 раз в 300 секунд.

Вывод команды crs_stat -p обрезан для удобства восприятия.

NAME=ora.racdb.racdb2.inst
ACTION_SCRIPT=/u01/app/oracle/product/11.1.0/db_1/bin/racgwrap
CHECK_INTERVAL=300
DESCRIPTION=CRS application for Instance
HOSTING_MEMBERS=rac2
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=900
STOP_TIMEOUT=300

UPDATE 1.
На семинаре я забыл рассказать про еще одну особенность parallel query в 11g. Появился новый параметр PARALLEL_IO_CAP_ENABLED, по умолчанию он стоит в FALSE. Если он будет установлен в TRUE и система будет откалибрована с помощью DBMS_RESOURCE_MANAGER.CALIBRATE_IO то Oracle будет уменьшать степень паралльности в соотвествии с результатами работы пакета DBMS_RESOURCE.


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

11g Direct NFS

Наверно многие уже слышали, что в 11g поддерживается встроенный Direct NFS клиент, оптимизированный для работы с БД. За подробностями отправляю Вас к документу
directnfsclient_11gr1_twp.pdf (application/pdf Object)

Скажу лишь, что идея реализовать доступ к NFS через библиотеку ODM мне понравилась :)

Интересно, что в этом документе сказано следующее:
"NFS is a shared file system, and can therefore support Real Application Cluster (RAC) databases as well as single instance databases"

Ага, значит в кластере можно хранить БД на NFS ?

Читаем документацию, What's New in Oracle Real Application Clusters Installation и видим, что Direct NFS

"A common, consistent NFS interface, capable for use across Linux, UNIX and Windows platforms " ... "Oracle RAC-aware NFS performance".


Поскольку этот документ называется New Features - считаю что описанное в нем - поддерживается. Иначе зачем это было бы писать ?

В этом же докумементе сделаны попытки объяснить с какими опциями необходимо монтировать файловые системы, чтобы все было хорошо. Но лучше прочитать Mount Options for Oracle files when used with NAS devices, Note:359515.1

Обратите внимание, что в этой ноте Windows указана как "not supported".
Из переписки во внутреннем mail листе я понял, что на Windows не поддерживается только хранение OCR & Voting файлов на NFS, файлы данных поддерживаются. Но документального подтверждения найти не могу.


Итого: c 11g есть возможность собрать кластер "для бедных", когда БД лежит на массиве, а любой машине которая может быть NFS сервером. По крайне мере для *nix - это поддерживаемое решение. А уж купить коробку с дисками, которая изображает из себя NFS можно начиная от $300.

PS
А вот пример, когда база данных лежит на одном из узлов кластера :)
http://www.oracle-base.com/articles/11g/OracleDB11gR1RACInstallationOnLinuxUsingNFS.php

Здесь интересное обсуждение


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

RAC on Oracle VM

На metalink появилась инструкция (567407.1) как установить RAC под Oracle VM. К сожалению, пока сертификации нет, эта нота закрытая. Следите за Note:464754.1 "Certified Software on Oracle VM"

PS
По секрету - я поставил. Работает как часы. Гораздо удобнее и конфортнее, чем с VmWare. Производительность не сравнивал, да и бесполезно, но на глаз - небо и земля. Однозначно можно рекомендовать такую конструкцию для средств разработки, как только будет сертификация. Инструкцию выложу.


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

RAC Attack !

Вот IOUG объявляет о событие 2-х дневное событие RAC Attack!, включающее и лекции и лабораторыне работы. И все бы ничего, но просят они за это от $499 до $650. Вот мне интересно, если у нас устраивать нечто подобное, найдутся ли люди, готовые платить и сколько ? Можно пригласить известных технических специалистов, организовать лабораторые работы. Это не проблема. Проблема, востребовано ли это, если это не бесплатно. Если не сложно, ответьте пожалуйста в опросе справа на этой страничке. Вы можете выбрать несколько ответов, например указать сумму, которую вы готовы заплатить, и то, что вы готовы только при условии оплаты этого мероприятия вышей компанией.

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


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

Real Application Testing Addendum


Удалось ознакомиться с документацией, из которой который раз узнаешь что-то новое. Так вот, было объявление, что функциональность Real Application Testing была портирована на предыдущие версии - 9i & 10g. В 10g вопросов нет - действительно можно производить автоматический захват нагрузки (но не воспроизведение). В документации явно написано, что с 9i на 10g (или 11g) можно переносить только SQL, причем для их захвата нужно использовать обычную трассировку уровня 10046. Ни про какой автоматический захват ничего и не обещали.

Real Application Testing Addendum (application/pdf Object)

Update 23.07.2008

Параметр PRE_11G_ENABLE_CAPTURE выставляется только в 10.2.0.4 в соответсвии с Note:560977.1

Update 11.08.2008
В комментариях сообщают, что удается захватить нагрузку с 9i.


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

Upgrade

Появился хороший набор ссылок по теме миграция:

Oracle9i Release 2 to Oracle Database 11g

Oracle9i Release 2 to Oracle Database 10g Release 2

Поскольку миграция с 10g на 11g предполагается с помощью Real Application Testing, соответсвенно, а что делать с 9i ? И вот Real Application Testing стал доступен для релиза 9.2.0.8. Требования (как для 9i так и для 10g) описаные В Note:560977.1. Также рекамендуется к прочтению
metalink_real_application_testing_for_earlier_releases.pdf (application/pdf Object)

Правда для 9.2.0.8 под Windows судя по этим комментариям что-то не получается. Я буду разбираться.


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

Streams again

Тема Streams не отпускает. Оказывается, начиная с 10.2.0.4 или 11.1.0.7 Streams поддерживает большее кол-во типов данных. И хотя эта поддержка связана с некоторыми доп.необходимыми действиями, все равно это значительно расширяет применимость Streams. Ссылка maa_edtsoverview.pdf (application/pdf Object)


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

RAC & Streams


Ну я просто не мог пропустить эту тему, RAC & Streams. В конце концов это была одна из целей поездки. Докладываю - положение серьезное. Официальный курс в части RAC оперирует настолько расплывчитыми формулировками, что это сложно назвать информацией вообще. Но вот мои соображения:

- Если Вы осуществляете пропогацию на RAC db, обязательно при создании db link указывайте имя сервиса, который автоматически создается при создании buffered queue в RAC. Этот сервис всегда работает на том экземпляре, где создавалась очередь. В случае гибели экземляра он автоматически будет переведен на тот экземпляр, куда будет переведена очередь. Опять таки, нужно руками указать куда переводить persistent queue с помошью DBMS_AQADM.ALTER_QUEUE_TABLE. Все это были бы просто рекомендации, если бы не ORA-2041 ON ENQUEUE OF BUFFERED MESSAGE IN SECOND RAC NODE. Что в переводе на русский - если вы не сделаете как я написал абзацом выше, то вам нужно отказаться от использования buffer queue, иначе работать не будет. Кстати, открыли этот баг наши слушатели на семинаре RACDD4D !

- Propagation process c бд источников 10.2 должны быть пересозданы с использованием queue_to_queue propagation


Ну вот, ничего страшного. Немножко поправить тут и там, и все будет работать. Главное ведь знать где поправить, правда?

PS
На фотографии - клевое место в Далласе. Клевое с фотографической точки зрения. Остальные фотографии


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

Creating a Logical Standby Database

Для меня оказалось не очевидным, что существует два подхода к созданию Logical Standby. В данном случае, я говорю об использовании LS для миграции без простоя приложения.

Первый подход, описанный в Creating a Logical Standby Database, Data Guard Concepts and Administration 11g Release 1 (11.1) требует сначала создания physical standby, а значит не может использоваться для platform migration.

Второй, о котором я узнал на OU курсе по Streams, описан в Online Database Maintenance with Oracle Streams, Streams Concepts and Administration 11g Release 1 (11.1) и явно направлен на кросс-платформенную миграцию.

Одно но, оба способа имеют отраничения на поддерживаемые типы данных. Обратите на это внимание.


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

Streams performance

Отличная статья, дающая представление о производительности streams 11g:

twp_streams_performance_11gr1.pdf (application/pdf Object)

В ранних релизах (9i) процесс майнинга реду (redo mining) был достаточно не быстрыми и пожирал процессорное время. Уже тогда можно было вынести его на отдельную машину. Но в 11g настроить downstream capture можно в несколько шагов:

- В БД источнике (source_db) нужно настроить log transport через

1) Alter system
alter system set log_archive_config='SEND,RECEIVE, DG_CONFIG=(target_db, source_db)' SCOPE=BOTH
alter system set log_archive_dest_2 = 'SERVICE=target_db ASYNC NOREGISTER VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUEU_NAME=target_db';

- на целевой БД

2) Alter system

alter system set log_archive_config='SEND,RECEIVE, DG_CONFIG=(target_db, source_db)' SCOPE=BOTH
alter system set log_archive_dest_2 = 'LOCATION=/u01/app/oracle/11.1/source_db VALID_FOR=(STANDBY_LOGFILE,PRIMARY_ROLE) DB_UNIQUEU_NAME=target_db';

3) Вызвать dbms_capture_adm.create_capture

4) Настроить какие именно схемы или табличные пространтсва или отдельные таблицы вы хотите реплицировать с помощью ADD_*_RULES процедуры


Это все, ваши логи приезжают на другой сервер, где разбираются и применяются. Вам даже не нужно восстанавливать target_db из бекапа, вполне достаточно привести нужные схемы с помощью Data Pump или вообще позвать dbms_streams_adm.maintain_schemas который сам привезет все что нужно. Из ограничений downstream capture я нашел только, что это должна быть та же платформа, при этом target_db может быть и 11g, в то время как source_db - 10g.


Крайне рекомендуется к прочтению документация: Best Practices for Oracle Streams Replication Databases


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

Materialized View with Streams

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

"
Unlike Oracle Streams replication, materialized views do not continuously replicate data at all times. A materialized view is a replica of a table or a subset of a table that can be refreshed to a transactionally consistent point in time. During a refresh, only the final values of the changed rows are pulled down and applied to the materialized view, no matter how many updates were applied to the master table. This reduces the amount of time that the remote site must be connected to the master site.
"

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

Однако, уже в 10.2 была сделана пропогация queue-queue, которая умеет бороться с закрытием db link, переживает его отсутствие, а с помощью dbms_aqadm.alter_propogation_schedule можно изобразить передачу данных по расписанию в стиле MV.

Конечно, настройка Streams через API - дело очень не простое, мы будем проходить его почти 3 дня. Процедуры dbms_streams_adm.maintain* - величайшее достижение в streams'ологии, когда за 1 вызов делается все, что необходимо, но с параметрами по умолчанию.

Однако, вернемся у теме сообщения. Мое резюме такое - если Вам надо 1 раз в день перекидывать изменения по одной табличке из одного филиала в другой - используйте MV. Если у Вас есть более серьезная задача по репликации данных, эти данные поддерживаются streams, в разных режимах, с разным расписанием - от Streams Вам не уйти.


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

100 F

100 градусная жара. По Фаренгейту. 11 часовой непрерывный перелет. Ни у кого нет переходника на европейский разъем. В этом городе русский таксист читает книжку "Бандитский Петербург", а 25 лет назад, парень женатый на русской девушке застрелил Джона Ф. Кеннди. Dallas, TX.

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

Oracle Streams 11g - действительно заслуживающая самого пристального внимания возможность. По многим причинам:

- Входит в EE и с ограниченными возмождностями в SE. В SE не может использовать buffered queue.

- Позиционируется, как замена advanced replication. Как минимум, из-за того, что данные находятся в памяти (streams pool) и репликация должна работать быстрее.

- Обеспечивает репликацию между разными версиями базы данных и даже между разными платформами (!)

- Может обеспечивать репликацию на уровне отдельных таблиц, схем, табличных пространств. Гибкие правила позволяют осуществлять фильтрацию данных.

- Поддерживает как односторонную, так и двухстороннюю репликацию. Синхронную (11g) или асинхронную.

- PL/SQL API, Enterprise Manager interface.

В общем, как только Data Guard по какой-то причине не устраивает, сразу приходит в голову применить Streams.


Прекрасная презентация о новых возможностях Streams в 11g

Прочитайте The beauty of Oracle Streams


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

Oracle 1.5 SQL Developer Downloads

Уже почти месяц можно скачать SQL Developer 1.5 по следующей ссылке: Oracle SQL Developer Downloads

В основном этого релиза ждали из-за поддержки им систем контроля версий

"
1.5 is "Version Control" release because it provides integration with open source version control products CVS and Subversion."

Но и прочие улучшения также впечатляют:

"
Other key new and updated features include SQL Formatting, Schema Compare, Copy and Export wizards, and the addition of migration support for Sybase Adaptive Server. SQL Developer 1.5 also comes with TimesTen support for both In-Memory Database Cache and TimesTen In-Memory Database with direct-linked and client/server connections.
"


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

Компания R-Style запускает программу Кластеризация-2008

Компания R-Style запускает маркетинговую программу «Кластеризация-2008». Для участников этой программы специалисты Компании R-Style бесплатно подготовят систему к эксплуатации и запустят ее в работу, произведут установку и настройку программного обеспечения Oracle RAC.

15 июля 2008 года в Москве, в бизнес-отеле «Бородино» пройдет совместная презентация этой программы Oracle, R-Style, HP. Данная презентация предназначена для бизнес-людей. Мы расскажем, чем эта программа интересна и выгодна нашим заказчикам.

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


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

Oracle Database Options для технических специалистов



30 июня в Mariott Grand отеле, в Москве прошло событие Oracle Database Options для технических специалистов. Особенностью данного события было большое количество практических демонстраций возможностей опций нашей Oracle Database 11g.

Многих настолько интересовали презентации, что они пытались снимать экранные копии на свои мобильные телефоны. Но Вы можете свободно скачать все презентации (27 mb, rar архив, я использую winrar 3.70. Архив обновлен 4 июля) с данного мероприятия.

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

Q. Хотели бы вы встретиться с представителем компании Oracle ?
A. Смотря с какой целью
или
Q. Хотели бы вы встретиться с представителем компании Oracle ?
A. Регулярно
или
Q. Хотели бы вы встретиться с представителем компании Oracle ?
A. Трудно сказать...

Q. Оцените качество презентаций
A. Претензий к картинкам нет

Q. Какие знания Вам необходимы ?
A. Техподдержка

Q. Какие еще мероприятия Вы хотели бы посетить ?
A. А какие есть?

Q. Какие именно опции Oracle Вам наиболее интересны ?
A. На практике все это не очень полезно. Но у нас не очень много пользователей.
или
Q. Какие именно опции Oracle Вам наиболее интересны ?
A. Список новых опций.

Q. Хотели бы Вы получить более подробную информацию о решениях Oracle, и если да, то какую?
A. Cредства Oracle 11i по созданию DHW(зачеркнуто) DWH

Но приз наших симпатий получает автор следующего заявления:

Q. Чтобы вы предложили чтобы улучшить мероприятие ?
A. Побольше булочек и бутербродов. Добавить в ассортимент вишневый сок и пиво.

Из комментариев:

- "Некоторые недостатки презентаций и демонстраций полностью компенсирует знатный обед"
- "Теперь я понял - надо изучать документацию"
- "Нужно проводить это мероприятие 2 дня"
- "Общий уровень достоин. Но уровень несколько отличается"
- "Ненатуральная пища, какие-то странные добавки. Неопытные и неаккуратные официанты. Лучше попроще но с натуральной пищей и не летающих вокруг ножей"

Спасибо Андрею Пивоварову и Сергею Данилову за вдумчивое прочтение анкет.


PS.
~40% опрошенных хотят посетить семинар по RAC. Вы что, сговорились что ли ? Есть же и другие хорошие опции :))


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

Объектно-ориентированное программирование в Oracle PL/SQL

Игорь Мельников (Igor.Melnikov) продолжает пропагандировать объектно - ориентированное программирование на pl/sql

Основная идея: в PL/SQL достаточно средств для реализации всех современных концепций ООП начиная от базовых и заканчивая более продвинутыми (например: паттерны проектирования).

Использование ООП позволяет в итоге:
- достичь повторного использования кода
- получить более читабельный и структурированный код
- в конечном итоге - снизить время и стоимость разработки !

Скачать презентацию Игоря полностью. Данная презентация представлялась на Training Labs 2008


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

Вынужденный простой

Прошу прощения у читателей этого блога - вынужденный простой был связан с отпуском. Отпуск был проведен весьма положительно, сплав 5-ой категории сложности по относительно малоходимым речкам Большая и Малая Сумульта, Алтай. 8 дней мы не встречали людей. 1 киль. 1100 фотографий, которые опубликую чуть позже.

Но я вернулся и с удвоенной силой начну публиковать давно накопленные материалы.


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

RAC customer reference

Вы можете ознакомиться с некоторыми подробностями успешного переноса приложения на ODP.NET в среду RAC в AmTrust Bank'е. Насколько я понял из комментария Игоря Мельникова, за счет присутствия общей библиотеки доступа к данным удалось сделать правильную обработку события потери связи у узлом кластера и переключения на другой узел.

PS Вот собственно сам комментарий Игоря:

"Исходный код приложения имеет многоуровневую структуру, в которой присутствует слой обращения к СУБД (DataAccess Layer). Это позволило без переписывания всего приложения, а только лишь соответствующим образом модифицировав DataAccess Layer сделать программную обработку потерю текущего узла кластера. Для этого использовалась технология TAF и была реализована функция обратного вызова TAF (TAF-callback). Функция обратного вызова TAF, вызываясь на уровне DataAccess Layer, производит программное восстановление контекста соединения и повторение транзакции
на которой произошло "падение" текущего узла. Вышеописанная модификация приложения позволила реализовать непрерынвную работу приложения (в режиме 24x7) в среде RAC


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

RAC SIG webcast

Thursday, 05-Jun-2008, 9am Pacific
*Using Oracle RAC and Microsoft Windows 64-bit as the Foundation For a
Database Grid*
Presented by Philip Newlan, Oracle
Many Oracle customers chose to run their databases on Microsoft Windows. Oracle
RAC and Windows 64bit continues to be a popular combination. This session will
discuss real-world customer experiences from two of those who selected an
Oracle RAC / Microsoft Windows 64bit combination as the platform of choice for
a Database RAC Grid. You will hear why they selected the specific platform to
fulfill their high-availability and scalability requirements. Why Windows
64bit is a much better choice than 32bit, migration from 32-bit to 64bit,
single instance to Oracle RAC and conventional file system to Automatic Storage
Management will all be discussed.

This Week's Webcast Connection Info:
====================================
Webcast URL (use Internet Explorer, **** Conference Key: 49473 ****):

https://conference.oracle.com/imtapp/app/cmn_jm_hub.uix?mID=112004426&mConfKey=49473


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

Cary Millsap открыл компанию Method-R

Сайт компании - http://www.method-r.com. По ссылке http://www.method-r.com/news вы можете услышать интервью Cary Millsap.

Пока сайт не очень наполнен, hotsos.com содержит больше интересных материалов. Что же, наверно стоит подождать, компания похоже только что создалась.


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

Extended RAC Clusters

В распределенном ( для конкретики, 2-х узловом RAC) на каждом сайте располагается своя дисковая группа ASM & voting disk. Для построения такой системы мы вполне можем использовать решения только от Oracle и осуществлять зеркалирование между массивами с помощью ASM. На небольших дистанциях, пока задержки невелики, можно строить такие системы начиная с 10g. Дальше следует смотреть в сторону 11g.



Хорошо, с зеркалированием данных разобрались, теперь посмотрим, что происходит в случае аварии связи между узлами. На всякий случай напомню, что если пропал interconnect или disk heartbeat между узлами - oracle clusterware вызывает панику одного из узлов, в случае даже обычного кластера. Но в нашем случае, в момент разрыва SAN между сайтами, оба сайта получает доступ к недостаточному числу voting дисков и оба паникуют. Так по крайней мере считает документация:

"A node must be able to access more than half of the voting disks at any time.
If a node cannot access the minimum required number of voting disks it is evicted, or removed, from the cluster"

Таким образом нам для двух сайтов, нам нужно 2n+1 = 3 voting диска. Причем 3-ий voting диск необходимо разместить не на тех же сайтах, где узлы нашего кластера, иначе, есть опять риск потерять весь кластер. Действительно, если авария случиться на том сайте, где мы разместили 3 voting диск, то другой сайт опять получит только к 1 voting диску и также запаникует.

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


Конечно, она немного упрощена - все оборудование должно быть задублировано.

Осталось решить, где же разместить наш 3 voting disk ? Решение для *nix систем - разместить 3 voting диск на NFS. Для платформы windows самый простой путь создания 3 voting disk - использовать certified iSCSI.



Полезные улучшения в 11g RAC


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

RACDD4D news

С разрешения Игоря Усольцева я хотел бы опубликовать пример очень хорошей заявки на наши семинары из серии "Oracle RAC DD4D ..". Миграция БД высокой готовности [prepaid GSM биллинговая система Беркут In@Voice] на доступную кластерную конфигурацию (Oracle 9i RAC / Linux x86 / FC SAN / SATA HDD)

Конечно, 9i не самая свежая версия, но сам проект очень интересный. Заявка принята ! Игорь будет приглашен на ближайший семинар по его выбору.

Кстати, обратите внимание, что Игорь пишет об успешном опыте взаимодействия с Oracle Enterprise Linux support team.


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

Oracle Instantaneous Problem Detection – OS Tool

Пользователи Linux могут попробовать для диагностики производительности узлов в RAC использовать Oracle Instantaneous Problem Detection – OS Tool (IPD/OS). Сама утилита доступна здесь. Насколько я понял, она позволяет смотреть загрузку ОС разных узлов в одном интерфейсе, а также сохраняет собранные данные для последующего анализа.


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

Forms6i & RAC

Очень похоже, что старые Forms6i использующие клиента 8.0.6 сходу не могут использовать возможности по балансировке нагрузке и TAF в 10g RAC. Однако есть workaround, описанный в metalink notes 67136.1 and 67137.1. В tnsnames.ora вместо двух строчек в address создается description_list, включающий в себя столько description, сколько узлов в RAC.

Вообще, в случае проблем со старыми Forms можно искать ответ среди решений проблем для OEBS - там уже много известных решений найдено. Как известно, OEBS RAC поддерживает.


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

Greg Rahn's blog

Интересный blog нашего инженера, Greg Rahn, из Real-World Performance Group. В частности заслуживает внимание пост про сбор статистики оптимизатора. Это сейчас горячая тема, поскольку многие переходят на 10g. Также обратите внимание на раздел презентации - там также есть материалы по этой теме.


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

ODP.NET & RAC

Игорь Мельников (Igor.Melnikov) продолжая борьбу с платформой Windows, обнаружил интересные изменения в ODP.NET в 11g.

Судя по презентации, для получения 3-х разных событий:

- HA Events
- Load Balancing
- Database change notification

Будет использоваться один порт, который можно (и нужно) настраивать из приложения.


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

services in RAC

Если Вы завели новые сервисы в RAC, вы должны были обратить внимание, что после рестарта БД они не стартуют автоматически.

Это документированное поведение:

Oracle® Database
Oracle Clusterware and Oracle Real Application Clusters
Administration and Deployment Guide
10g Release 2 (10.2)
B14197-07

Section 'adminitering Services'

Start or stop a service for a database or an instance. A service must be started
before it can be used for client connections to that instance. If you shutdown your
database, for example, by running the Server Control (SRVCTL) command
srvctl stop database -d database_name where database_name is the
name of the database that you want to stop, then Oracle stops all services to that
database. You must manually re-start the services when you start the database.


Как workaround, можно предложить только триггер after startup on database
в котором вызвать пакет dbms_service.start_service ('your_service_name')


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

RAC VIP failback

В кластере, в результате аварии узла (или на узле) VIP адрес автоматически переедет на другой узел. Однако, в 10.2.0.4 & 11.1.0.6 когда вы исправите ситуацию с узлом, VIP не вернется назад сам. Workaround - вернуть его с помощью srvctl. Но если Вы хотите, чтобы VIP сам возвращался, необходимо раскомментировать строчку ORA_RACG_VIP_FAILBACK=1 в скрипте $ORACLE_HOME/bin/racgwrap (именно в $ORACLE_HOME, а не в $ORA_CRS_HOME)


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

b-whitepaper_integrating_oracle_automatic_01-2008.en-us.pdf (application/pdf Object)

Крайне интересная головная статья для понимания ситуации с установкой и поддержкой Veritas Storage Foundation for Oracle RAC.
b-whitepaper_integrating_oracle_automatic_01-2008.en-us.pdf (application/pdf Object)

Обратите внимание на раздел про поддержку. Конечно следует найти официальные документы, но судя по этой ссылке ASM не будет поддерживаться например на Linux.


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

Oracle OpenWorld 2008

В этом году Oracle Open World состоится 21-25 сентября в Moscone Center, San Francisco. Событие это совершенно незабываемое, и если у Вас есть шанс попасть на него - обязательно его реализуйте.

Если Вы представляете компанию - заказчика Oracle, и ваша компания готова оплатить Вам поездку на Open World - свяжитесь со мной пожалуйста (Dmitry.Volkov). У меня есть предложение, от которого Вы не сможете отказаться :)

Registration | Oracle OpenWorld 2008


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

Мы мирные люди, но наш бронепоезд ...

Вслед на Андреем Пивоваровым хочу опубликовать фотографию будней московского офиса Oracle.

Оригинал


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