Стояла задача — установить Oracle 10g RAC на SLES 11. По ходу установки столкнулся с рядом нюансов, которые были слабо описаны на просторах интернета. Детально процесс установки описывать не буду. Для этого можно посмотреть следующие описания. которыми и я пользовался при установке:
* на русском
* на английском
Исходные данные:
— внешнее хранилище, подключенное по Fibre Channel
— 2 удаленные ноды с установленной SLES 11, имеется kvm
Подготовительные работы
— настроить и проверить ntp на всех узлах, запустить с флагом -x (/etc/sysconfig/ntp — в опциях)
— установить дополнительные пакеты (совет — установить девелоперский пакет и полноценные Х-сы)
— установить java
— исправить /etc/profile.d/oracle.sh — подправить ORACLE_BASE, ORACLE_HOME итд.
— исправить /etc/profile.d/oracle.csh — подправить ORACLE_BASE, ORACLE_HOME итд.
— usermod -G dba,disk oracle
— у Rac и Database хоумы разные, поэтому перед установкой RAC выставить, к примеру,
ORACLE_HOME=/opt/oracle/product/10.2/crs
Настройка сети
— настроить DNS
— устанавливаем IP и прописываем в DNS для каждой ноды
- public IP, к примеру eth1
- private IP (для интерконнекта, желательно внутренний VLAN ), к примеру eth2
- VIP IP (в той же сети что public) — виртуальные адреса, которые просто прописываются в DNS, кластер потом их сам поднимет
— настроить ssh ключи, чтоб пользователь oracle ходил на все ноды без пароля
Установка ASM
Устанавливаем ASMLIB
драйвер oracleasm из дистрибутива ОС
пакет oracleasm-support-2.1.7-1.SLE11.x86_64.rpm с сайта Оракла
пакет oracleasmlib-2.0.4-1.sle11.x86_64.rpm с сайта Оракла
Конфигурируем ASMLIB
/etc/init.d/oracleasm configure
owner: oracle
group: dba
Создаем диски примерно следующим образом. Важный момент — на партициях. На дисковом устройстве типа /dev/mapper/mpathb тоже все прекрасно создается. только потом не работает.
/etc/init.d/oracleasm createdisk OCRDISK /dev/mapper/mpathb_part1
/etc/init.d/oracleasm createdisk VOTEDISK /dev/mapper/mpathb_part2
/etc/init.d/oracleasm createdisk VOL1_REDO /dev/mapper/mpathb_part4
/etc/init.d/oracleasm createdisk VOL1_DATA /dev/mapper/mpathc_part1
/etc/init.d/oracleasm createdisk VOL2_DATA /dev/mapper/mpathc_part2
/etc/init.d/oracleasm createdisk VOL1_INDEX /dev/mapper/mpathd_part1
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
/etc/init.d/oracleasm enable
Проверяем ASMLIB
reboot
/etc/init.d/oracleasm listdisks
В случае проблем смотрим
tail -n 100 /var/log/oracleasm
Установка
разворачиваем архив clusterware
Как пользователь root выполните
cd <distrib_path>/rootpre
[root@rac1 rootpre]# ./rootpre.sh
[root@rac1 rootpre]# xhost +
xhost + очень желателен, иначе некоторые скрипты настройки, запускаемые установщиком могут не запустится
Официально SLES 11 ораклом не поддерживается, поэтому как пользователь oracle
export DISPLAY=:0.0
./runInstaller -ignoreSysPrereqs
В целом процесс инсталляции идет успешно, но когда дело доходит до запуска root.sh, возникают проблемы.
Скрипт root.sh
Итак перед запуском root.sh следует
— проверить что корректно выставлены
- $ORACLE_HOME
- export DISPLAY=:0.0
- xhost +
— заменить $ORACLE_HOME/bin/ocslfmt.bin, для себя я его нашел на другой рабочей системе, для более несчастливых товарищей даю ссылку для хитрого решения проблемы
— убрать строки из $ORACLE_HOME/bin/vipca
if [ "$arch" = «i686» -o "$arch" = «ia64» -o "$arch" = «x86_64» ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
— убрать строки из $ORACLE_HOME/bin/srvctl
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
— запускать в X-ах
— если VIP адреса не установились — запустить vipca вручную. в Х-ах
vipca требует export DISPLAY=:0.0
— игнорировать баг компиляции, он лечится последующим патчем
В целом, после запуска скриптов на всех нодах, установку кластера можно считать успешной.
Настройка ASM
После успешной установки кластерваре запускаем dbca и настраиваем ASM.
Здесь тоже есть один нюанс. связанный с multipathd
Для того чтобы АСМ корректно нашелся, в пути для поиска ASM в dbca указываем /dev/mapper/*
либо это можно сделать после. если вдруг у вас dbca сам все нашел, а потом потерял после очередной перезагрузки — командой
ALTER SYSTEM SET asm_diskstring='/dev/mapper/*' SCOPE=BOTH SID='+ASM1';
Автор: erlong