Oracle/СПТ
Версии
Проверялись следующие версии программного обеспечения:
- Альт Линукс СПТ 6.0 от 31.05.2012 (64-битная версия)
- Oracle 11g R2 (64-битная версия для Linux)
Подготовка системы
Требования к условиям установки
- Размер оперативной памяти должен быть больше 1 ГБ (1049 МБ)
- Размер подкачки должен быть больше 1 ГБ (1049 МБ)
- На /tmp должно быть более 1 ГБ свободного места (для этого можете добавить параметр size=1400M для tmpfs)
- Установка осуществляется под правами обычного пользователя
- Временный каталог должен иметь более 120 МБ свободного места
- Установка осуществляется в графическом режиме с количеством цветов > 256
- Программа установки не умещается в 800x600, поэтому лучше устанавливать в разрешении 1024x768
- Должен быть правильно настроен домен. Если установка осуществляется на localhost, уберите localhost.localdomain в файле /etc/hosts
Место установки и конфигурация
Cначала определимся с конфигурацией Oracle:
- ORACLE_BASE (/opt/oracle) — место установки Oracle
- ORACLE_HOME (/opt/oracle/product/11.2.0) — место установки РСУБД
- SID (orcl) — имя экземпляра базы данных
Создадим файл /etc/sysconfig/oracle с необходимыми переменными среды окружения для Oracle:
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/11.2.0
Активизируем конфигурацию:
. /etc/sysconfig/oracle
export ORACLE_BASE ORACLE_HOME
Создадим пользователя и каталог для установки (под пользователем root):
mkdir -p $(dirname $ORACLE_HOME)
useradd oracle -d $ORACLE_HOME
mkdir /opt/oraInventory
chown -R oracle:oracle $ORACLE_BASE /opt/oraInventory
passwd oracle
Последняя команда устанавливает пароль для пользователя oracle.
Место во временном каталоге
Несмотря на невысокие требования программы установки, в $TMPDIR пользователя потребуется больше места при установке. Рекомендуется создать временный каталог tmp в домашнем каталоге пользователя.
mkdir ~oracle/tmp
chown oracle:oracle ~oracle/tmp
Выбрать политику временного каталога в домашней папке пользователя:
control pam_mktemp disabled
Установка параметров ядра и лимитов
В файл /etc/sysctl.conf добавьте строки:
kernel.shmmax = 1073741824
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
В файл /etc/security/limits.conf добавьте строки:
oracle hard nproc 16384
oracle soft nproc 2047
oracle hard nofile 65536
Установка пакетов для сборки
Вставьте диск и выполните:
apt-get update apt-get install make gcc4.5 gcc-c++ findutils gawk pdksh glibc-devel libaio-devel libunixODBC-devel expat
Для сборки Oracle потребуется пакет libstdc++3.3, отсутствующий на диске с дистрибутивом. Подключите онлайновый репозиторий c6 и установите пакет:
apt-repo add branch c6 apt-get update apt-get install libstdc++3.3
Если установка должна осуществляться удалённо, то установите также
apt-get install xorg-libs xorg-locales xauth fonts-type1-xorg
И настройте SSH. Доступ по SSH осуществляйте с параметром -Y.
После всех операций выполните sysctl -p и начните сеанс пользователя oracle или просто перезагрузите операционную систему.
Установка
Запуск программы установки
1. Войдите в графическую среду под пользователем oracle (установка под правами суперпользователя не работает).
2. Распакуйте установочные файлы Oracle.
3. Перейдите в каталог распакованных установочных файлов Oracle и запустите
. /etc/sysconfig/oracle
export ORACLE_BASE ORACLE_HOME
./runInstaller
Примечание: каждый запуск программы установки объедает место на tmpfs. Рекомендуется перед запуском почистить временный каталог и каталоги для установки:
rm -rf $TMPDIR/OraInstall* /opt/oraInventory/*
Шаги мастера установки
На первом экране будет предложено ввести зарегистрированный в My Oracle Support адрес электронной почты. Если у вас его нет, просто нажмите кнопку Следующий.
Если адрес не был указан, появится диалог. Нажмите кнопку Yes.
Далее проходим шаги с параметрами по умолчанию.
На четвёртом шаге нужно указать пароль администратора (пользователя SYSTEM). Кроме того, мы выставляем Global database name orcl и меняем кодировке базы данных с CP1251 на UTF8.
На шестом шаге, если всё вышеописанное было сделано, показываются только проблемы с версиями пакетов. Ничего страшного, Oracle соберётся и с более новыми версиями. Включаем флажок «Ignore All» и продолжаем установку.
Во время сборки появляется диалоговое окно с невозможностью сборки. Исправляем сборку.
Исправление проблем сборки
В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению, это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT Linux начиная с v4.0.
Мы не будем исправлять ошибки Oracle а просто обойдём их, разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр --no-as-needed. Очевидно было бы использовать для этого переменную $LDFLAGS. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная $LDFLAGS переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится.
Когда появится сообщение об ошибке сборки, выполните под пользователем, под которым была запущена программа установки:
. /etc/sysconfig/oracle
export ORACLE_HOME
subst 's/^LD="gcc/LD="gcc -Wl,--no-as-needed/' $ORACLE_HOME/bin/genorasdksh
subst 's/^LDFLAGS=-o/LDFLAGS=-Wl,--no-as-needed -o/g' $(find $ORACLE_HOME -name env_\*.mk)
Затем вернитесь в окно программы установки и нажмите кнопку Retry.
Создание базы данных
База будет создана автоматически с одним предупреждением. В диалоговых окнах нажимайте OK.
При желании можно завести пользователей и назначить им пароли, нажав на кнопку «Password Management».
Послеустановочные действия
После установки и создания базы данных вам потребуется открыть выполнить два скрипта под правами пользователя root.
Откройте терминал, войдите под root и выполните:
. /etc/sysconfig/oracle
export ORACLE_HOME
/opt/oraInventory/orainstRoot.sh
$ORACLE_HOME/root.sh
Окончательный экран с результатом установки:
TZUpdater
После всех манипуляций и установок, у вас может не запускаться DBConsole. Это связано с тем, что не совпадают часовые пояса. Для того, чтобы это исправить необходимо проделать следующие манипуляции:
- Установить последний "Timezone Updater Tool" на используемую в Oracle Java (Внимание! доступно только для владельцем MyOracle Support Account);
- Установить патч 12949905 на сервер Oracle.
Запуск СУБД
Для того, чтобы запустить СУБД, выполните:
. /etc/sysconfig/oracle
export ORACLE_HOME
$ORACLE_HOME/bin/dbstart $ORACLE_HOME
Управление сервером
Откройте веб-браузер и введите адрес (указание протокола https обязательно!):
https://адрес_сервера:1158/em
примите самоподписанный сертификат, укажите имя (по умолчанию SYSTEM и пароль администратора, указанный при установке). Нажмите кнопку Login.