Нюансы установки Oracle 10g RAC на SUSE 11

от автора

Стояла задача — установить 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 для каждой ноды

  1. public IP, к примеру eth1
  2. private IP (для интерконнекта, желательно внутренний VLAN ), к примеру eth2
  3. 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′;

ссылка на оригинал статьи http://habrahabr.ru/post/163919/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *