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

Установка Oracle 10 g? (10.2.0.1.0) и выше на ALTLinux Server 4.0 VPS

Предупреждение!
Данный вариант установки СУБД Oracle не может быть рекомендован для рабочих серверов. Цель данного HOWTO выявить все необходимые зависимости ПО от Oracle и возможные «подводные камни» при его установке. Поэтому весь процесс установки сделан в изолированной среде виртуального сервера с минимально возможным набором установленных пакетов.
Исходные данные: установленный и настроенный ALTLinux Server 4.0 со всеми официальными обновлениями. Дистрибутив Oracle Database 10.2.0.1.0 доступный для скачивания на otn.oracle.com. Все нижесказанное так же проверялось с 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 oracle/.bash* 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>/Oracle 10 g_ ALT 40?.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


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