Установка Oracle

21.4. Установка Oracle

Автор Marcel Moolenaar

21.4.1. Введение

Ниже описан процесс установки Oracle 8.0.5 и Oracle 8.0.5.1 Enterprise Edition для Linux на систему с FreeBSD.

21.4.2. Настройка Linux окружения

Удостоверьтесь, что порты linux_base и linux_devtools установлены на Вашей системе. Они появились в коллекции портов после выхода FreeBSD 3.2. Если Вы используете FreeBSD 3.2 или более раннюю, обновите коллекцию портов. Нелишним будет и апгрейд до более поздней версии FreeBSD. Если у Вас возникнут трудности с linux_base-6.1 или linux_devtools-6.1, воспользуйтесь версией 5.2 этих пакетов.

Если Вы хотите использовать intelligent agent, Вам также понадобится TCL пакет от Red Hat: tcl-8.0.3-20.i386.rpm. Для этого воспользуйтесь следующей командой:

    # rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package

Установка этого пакета должна пройти без каких-либо ошибок.

21.4.3. Настройка окружения Oracle

Прежде чем Вы сможете установить Oracle, Вам необходимо обеспечить нужное окружение. Ниже описывается, что конкретно нужно сделать, чтобы успешно запускать Oracle для Linux под FreeBSD. За общими сведениями обратитесь к фирменному руководству по инсталляции Oracle.

21.4.3.1. Настройка ядра

Как описывается в руководстве по инсталляции, необходимо установить максимальный размер разделяемой памяти. Не используйте SHMMAX под FreeBSD. SHMMAX высчитывается, исходя из SHMMAXPGS и PGSIZE. Следовательно, нужно задавать SHMMAXPGS. За информацией о прочих опциях обратитесь к фирменному руководству:

    options SHMMAXPGS=10000
    options SHMMNI=100
    options SHMSEG=10
    options SEMMNS=200
    options SEMMNI=70
    options SEMMSL=61

Установите эти опции в зависимости от того, как и для чего Вы будете использовать Oracle.

Не забудьте добавить следующие строки в файл конфигурации ядра:

    options SYSVSHM # разделяемая память SysV
    options SYSVSEM # семафоры SysV
    options SYSVMSG # межпроцессное взаимодействие SysV

21.4.3.2. Oracle аккаунт

Вам нужно создать специальный Oracle аккаунт, как и любой другой аккаунт. Единственное отличие в том, что Вы должны указать для него командный интерпретатор Linux: /compat/linux/bin/bash. Не забудьте добавить /compat/linux/bin/bash в файл /etc/shells.

21.4.3.3. Переменные окружения

Кроме стандартных переменных окружения, таких как ORACLE_HOME и ORACLE_SID, Вам нужно будет установить следующие дополнительные переменные:

ПеременнаяЗначение
LD_LIBRARY_PATH$ORACLE_HOME/lib
CLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zip
PATH /compat/linux/bin /compat/linux/sbin/compat/linux/usr/bin ......... $ORACLE_HOME/bin

Желательно устанавливать их в файле .profile. Вот реальный пример:

    ORACLE_BASE=/oracle; export ORACLE_BASE
    ORACLE_HOME=/oracle; export ORACLE_HOME
    LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export LD_LIBRARY_PATH
    ORACLE_SID=ORCL; export ORACLE_SID
    ORACLE_TERM=386x; export ORACLE_TERM
    CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
    export CLASSPATH
    PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/
    /usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin
    export PATH

21.4.4. Инсталляция Oracle

Из-за небольшой несовместимости с Linux эмулятором, Вам нужно будет создать подкаталог .oracle в директории /var/tmp прежде чем можно будет начать инсталляцию. Либо сделайте ее владельцем пользователя oracle, либо поставьте права на запись для всех. Если Вы все сделали правильно, то инсталляция должна пройти без проблем. Если какие-либо трудности все же возникли, проверьте еще раз все конфигурационные файлы и целостность дистрибутива. После окончания установки, приложите патчи (смотрите следующие две секции).

Одна из часто возникающих проблем -- неправильно установленный TCP адаптер. В результате, невозможно запустить TCP сервисы. Вот решение проблемы:

    # cd $ORACLE_HOME/network/lib
    # make -f ins_network.mk ntcontab.o
    # cd $ORACLE_HOME/lib
    # ar r libnetwork.a ntcontab.o
    # cd $ORACLE_HOME/network/lib
    # make -f ins_network.mk install

Не забудьте повторно запустить root.sh!

21.4.4.1. Модификация root.sh

Инсталлируя Oracle, необходимо выполнить некоторые действия (имея при этом привилегии суперпользователя). Фактически это сводится к выполнению скрипта root.sh, который находится в директории orainst. Перед запуском, приложите к нему следующий патч (исправляет местонахождение утилиты chown), либо запускайте его в командном интерпретаторе Linux.

    *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
    --- orainst/root.sh Mon Dec 28 15:58:53 1998
    ***************
    *** 31,37 ****
    # This is the default value for CHOWN
    # It will redefined later in this script for those ports
    # which have it conditionally defined in ss_install.h
    ! CHOWN=/bin/chown
    #
    # Define variables to be used in this script
    --- 31,37 ----
    # This is the default value for CHOWN
    # It will redefined later in this script for those ports
    # which have it conditionally defined in ss_install.h
    ! CHOWN=/usr/sbin/chown
    #
    # Define variables to be used in this script

Если Вы инсталлируете Oracle не с компакт диска, то можно модифицировать файл rthd.sh, который находится в директории orainst.

21.4.4.2. Модификация genclntsh

Скрипт genclntsh используется для того, чтобы создать единую разделяемую клиентскую библиотеку. Приложите следующий патч, чтобы закомментировать определение переменной PATH:

    *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
    --- bin/genclntsh Tue Dec 22 15:36:49 1998
    ***************
    *** 32,38 ****
    #
    # Explicit path to ensure that we're using the correct commands
    #PATH=/usr/bin:/usr/ccs/bin export PATH
    ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
    #
    # each product MUST provide a $PRODUCT/admin/shrept.lst
    --- 32,38 ----
    #
    # Explicit path to ensure that we're using the correct commands
    #PATH=/usr/bin:/usr/ccs/bin export PATH
    ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
    #
    # each product MUST provide a $PRODUCT/admin/shrept.lst

21.4.5. Запуск и использование Oracle

Теперь, если Вы все сделали правильно, то можете использовать Oracle так же, как если бы Вы поставили его на Linux систему.