Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Admin/OracleALS40 ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Admin/OracleALS40 за 2007-08-21 09:37:18..

Установка Oracle10g (10.2.0.1.0) и выше на ALTLinux Server 4.0 VPS

Предупреждение!
Данный вариант установки СУБД Oracle не может быть рекомендован для рабочих серверов. Цель данного HOWTO выявить все необходимые зависимости ПО от Oracle и возможные «подводные камни» при его установке. Поэтому весь процесс установки сделан в изолированной среде виртуального сервера с минимально возможным набором установленных пакетов.
Исходные данные: установленный и настроенный ALTLinux Server 4.0 со всеми официальными обновлениями. Дистрибутив Oracle Database 10.2.0.1.0 доступный для скачивания на Oracle Technology Network. Все нижесказанное так же проверялось с Oracle 11g Release 1 (11.1.0.6.0)
Рекомендуется использовать пакет oracle-preinstall версии не ниже чем 0.4-alt7

Подготовка виртуального сервера (VPS)

Настройка хост-системы.

Прежде всего подготовим хост-систему. Отредактируем файл /etc/vz/dists/scripts/functions и укажем в нем правильные значения для переменных $FAKEGATEWAY и $FAKEGATEWAYNET. Значения этих переменных зависят от настроек вашей сети.
Установите правильные параметры ядра в файле /etc/sysctl.conf хост-системы (см. /usr/share/doc/oracle-preinstall-<versoin>/README).
Отредактируйте файл /etc/sysconfig/oracle установив правильные значения для переменных $ORACLE_BASE и $ORACLE_HOME.

Создание виртуального сервера

Через Web-интерфейс альтератора создаем новый профиль oracle10g-database. В список обязательных пакетов этого профиля добавляем:


* altlinux-release
* apt
* apt-conf-server
* etcnet
* libstdc++
* net-tools
* openssh-server (опционально)
* oracle-preinstall
* rootfiles (опционально)
* startup
* twm (выбран как наиболее простой оконный менеджер с минимумом зависимостей)
* vnc-server
* xorg-x11-server-common
* xorg-x11-xfs


Замечу что профиль для виртуального сервера включает в себя только те пакеты которые непосредственно используется в процессе установки или работы Oracle. Все остальные пакеты будут установлены по зависимостям вышеперечисленных.
На основе получившегося профиля создайте шаблон с тем же именем oracle10g-database (дабы не путаться). Шаблон представляет из себя полный набор устанавливаемых пакетов которые остаётся только развернуть в нужном каталоге. Создание шаблона занимает некоторое время и зависит от производительности машины. Вы можете посмотреть текущее состояние шаблона кликнув на соответствующую ссылку.
Когда шаблон будет готов, создайте новый виртуальный сервер с именем oracle и IP-адресом отличающимся от адреса хост-системы.
Отредактируйте таблицу системных ресурсов своего виртуального сервера. Ниже приведены минимальные значения некоторых параметров:


* PRIVVMPAGES="1050000:1145430"
* SHMPAGES="65536:65536"
* NUMPROC="192:192"
* PHYSPAGES="0:2147483647"
* VMGUARPAGES="6144:2147483647"
* OOMGUARPAGES="6144:2147483647"
* TCPSNDBUF="327680:532480"
* TCPRCVBUF="638976:1048576"
* NUMFILE="2048:2048"
* DISKSPACE="2097152:2306868"


Теперь запустите VPS
# vzctl start 101

Примечание.
В процессе создания шаблона VPS мы получили пустой каталог пользователя oracle. Это не совсем удобно. Поэтому, чтобы иметь более комфортное окружение, можете скопировать настройки bash из домашнего каталога пользователя root.
# cp -a /root/.bash* /root/.i18n oracle/
# chown oracle:oinstall /home/oracle/.bash* /home/oracle/.i18n

Подготовка сервера VNC

При установке и настройке Oracle нам понадобится X-сервер для запуска некоторых графических утилит. В этом случае мы можем воспользоваться либо X-сервером рабочей станции, подключившись к серверу через ssh с ключиком -X, либо установив X-сервер прямо внутри VPS. Удалённый доступ к такому X-серверу можно будет обеспечить с помощью VNC. Опишем второй вариант так как вариант с ssh во-первых, не требует дополнительных действий, а во-вторых, он применим только если у вас есть достаточно надёжное соединение с сервером. Например локальная сеть.
Таким образом, мы можем обойтись одним только сервером VNC не устанавливая SSH внутри виртуального сервера, что и было отмечено на этапе подготовки профиля VPS.
Внутри VPS получите права пользователя oracle и создайте конфигурацию для VNC
# su – oracle
$ vncserver
You will require a password to access your desktops.
Password:
Verify:
xauth: creating new authority file /home/oracle/.Xauthority
New 'X' desktop is database.example.net:1
Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/db.example.org:1.log
Конфигурация готова. Остановите VNC-сервер. В дальнейшем мы будем запускать его только как сервис
$ vncserver -kill :1
$ exit
Отредактируйте файл /etc/sysconfig/vncservers примерно таким образом:
VNCSERVERS="1:oracle"
Запустите сервисы xfs и vncserver
# service xfs start
# service vncserver start
Включайте эти сервисы только когда вам нужно воспользоваться графическими утилитами Oracle. В штатном режиме эксплуатации эти сервисы не нужны и их можно выключать.
Подключитесь к имеющемуся серверу с помощью vncviewer с соответствующим паролем.
$ vncviewer db.example.org:1
Connected to RFB server, using protocol version 3.3
Performing standard VNC authentication
Password:
Authentication successful

Запуск Oracle

Установка базы данных

В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT начиная с v4.0. Мы не будем исправлять ошибки Oracle а просто обойдём, их разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр --no-as-needed. Очевидно было бы использовать для этого переменную $LDFLAGS. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная $LDFLAGS переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится. Мне удалось вычислить что переменная $COMPSOBJS нигде не инициализируется. Поэтому нужный нам параметр мы можем передать через эту переменную, что мы и сделаем перед запуском инсталятора. Только в одном месте это не будет работать – в скрипте $ORACLE_HOME/bin/genorasdksh. Вот здесь-то инсталятор и выдаст ошибку. Это место придётся исправлять на ходу. Патч с исправлениями есть в документации к пакету oracle-preinstall.
Прежде всего необходимо определить переменные $ORACLE_BASE и $ORACLE_HOME. Возьмём их значения из файла /etc/sysconfig/oracle
$ . /etc/sysconfig/oracle
$ export ORACLE_BASE ORACLE_HOME
Для правильной работы gcc установите переменную $COMPSOBJS:
$ export COMPSOBJS="-Wl,--no-as-needed"
Запустите инсталятор Oracle и выполняйте установку в соответствии с документацией. После заполнения всех форм, начнётся процесс копирования файлов и затем линковки. В процессе линковки возникнет ошибка приблизительно следующего содержания:
Error in invoking target 'all_no_orcl' of makefile $ORACLE_HOME/rdbms/lib/ins_rdbms.mk. See log file for details.
При появлении этого сообщения поправьте файл $ORACLE_HOME/bin/genorasdksh воспользовавшись редактором или утилитой patch.
$ cd $ORACLE_HOME
$ patch -p0 < /usr/share/doc/oracle-preinstall-<version>/Oracle10g_ALT40.patch
После этого вернитесь в программу установки и нажмите кнопку Retry.

Дальнейшие действия

После установки сервера Oracle необходимо настроить listener с помощью программы netca и потом создать базу данных программой dbca. Последним шагом будет редактирование файла /etc/oratab где в соответствующей строке нужно будет последним параметром указать Y. Это будет означать что данную базу данных нужно запускать при старте системы.
Когда это будет сделано, можно стартовать базу данных и listener
# service oracle-db start
# service oracle-lsnr start
При необходимости включите эти сервисы в начальную загрузку системы
# chkconfig oracle-db on
# chkconfig oracle-lsnr on


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]