Как установить oracle database на centos
Обновлено: 07.07.2024
На днях пришлось установить данный вид продукции на данную официально не поддерживаемую ораклом ось. CentOS для меня достаточно неизученный Linux, поэтому как устанавливать гуглил. Нашел несколько инструкций, к сожалению ни одна из них не была тем самым руководством, тупо следуя которому можно было бы выполнить это действо. Все требовали доработки, поиска недостающих библиотек и т.д. В итоге написал некое подобие HOWTO с учетом всех поправок. Может быть кому-то будет интересно.
П.С. Тру фанатов оракла прошу строго не судить, мне известно что установка этой БД на неподдерживаемы ОС чревата и т.д… Но поскольку имею практический опыт в эксплуатации данной СУБД в нескольких «несертифицированных» ОС и опыт разрешения весьма небольшого числа коллизий по ходу эксплуатации — до сих пор считаю требование к «сертифицированности» ОС сильно преувеличенным.
Подключаемся рутом, работаем в его окружении:
Устанавливаем необходимые пакеты (все есть в стандартном репозитарии, немножко вперемежку):
Создаем пользователей и группы:
Конфигурируем параметры системы для совместимости. Правим /etc/sysctl.conf, вносим-изменяем следующие строки:
и применяем конфиг:
Корректируем лимиты на кол-во процессов-файлов для пользователя oracle (поскольку он будет владельцем процессов СУБД). Правим /etc/security/limits.conf, вносим-изменяем следующие строки:
Правим /etc/pam.d/login, вносим/изменяем:
Еще создаем файл профиля (vi /etc/profile.d/custom.sh), вносим в него текст:
Добавляем права на выполнение:
Временно меняем описание версии ОС, чтобы оракл при установке не ругался. Можно конечно воспользоваться и ключиком ignoreSysPrereqs при установке, на любителя.
Для того, чтобы у остальных пользователей ОС, владельцев процессов, которым возможно понадобится доступ к БД, не было с этим сложностей — добавим следующие строки в общий профайл (/etc/profile), в конец:
Все, доступ рута нам пока не понадобится, подключаемся пользователем oracle.
Выполняем установку в /opt/oracle/database
Устанавливаем.
В процессе установки может возникнуть ошибка: ins_emdb (error invoking target 'collector' . ), игнорируем ее и жмякаем «Continue».
В процессе установки следуем инструкциям инсталятора, нужно быдет выполнить два скрипта из-под рута, выполняем их.
Ура? Еще нет.
Вспоминаем, что мы меняли описание релиза ОС, возвращаем старое описание обратно (из-под рута выполняем):
Лечим это досадное недоразумение. Выполняем
создаем файл $ORACLE_HOME/bin/oralce со следующим содержимым:
даем файлу права на выполнение:
Теперь все у нас работает. Остается только оформить oracle и прослушиватель как демоны, для того чтобы они запускались при загрузке системы.
Произведем установку в минимальной конфигурации в целях обучения и ознакомления.
Установка пакетов, список из документации.
Настройки параметров ядра. Некоторые рекомендованные значения зависят от объема RAM, другие возьмем из документации.
Если сохранить параметры, например, в /etc/sysctl.d/97-oracle-database-sysctl.conf, то установщик их не найдет и выдаст WARNING при проверке.
Настройка разрешения X11Forwarding на сервере
Запуск установщика
Закинуть архив дистрибутива на сервер, распаковать, запустить установку от имени oracle
Откажемся от получения новостей.
Разница между Desktop и Server в количестве опций, которые будут предложены во время установки.
Разница между Typical и Advanced в количестве опций, которые будут предложены во время установки.
Оптимизация СУБД под задачи процессинга данных или хранилища.
Global database name: Уникальное имя, которое идентифицирует базу данных в сети.
Oracle System Identifier (SID): Имя конкретного инстанса БД на хосте. Для красоты рекомендую в верхнем регистре.
Как правило Oracle ставят на отдельную машину, где все ресурсы отданы ему, в нашем случае следует ограничить его аппетиты памяти, это важно.
Выберите желаемую кодировку, поменять ее потом будет не так легко.
Задать пароль для системных пользователей.
Oracle recommends that the password entered should be at least string characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit 7.
Если Oracle не сможет выделить тот объем памяти, который ему указали в настройках, то произойдет ошибка.
Настройка
Настройка переменных окружения пользователя oracle
Установщик оставляет запущенной БД и listener.
Сразу после установки зайти в консоль sqlplus и сделать pfile (init<SID>.ora), без него БД не запуститься после остановки.
Создадим systemd сервис
Остановим БД и listener что бы проверить запуск
Пока сервис listener остановлен, можно поменять его конфиг:
Т.к. Oracle Database будет устанавливаться на сервер, где X-сервера нет, то установим Xming на рабочей машине с Windows.
Редактируем файл C:Program Files (x86)XmingX0.host s, добавляем в него IP или имена хостов, которым можно подключаться к этой машине:
Редактируем C:WindowsSystem32driversetc и добавляем адрес и имя сервера, на котором будет устанавливаться Oracle.
Переходим к самому серверу.
Установка производится на:
Обновляем все установленные пакеты:
Открываем файл /etc/sysconfig/network , проверяем соответствие имени хоста:
Проверяем файл /etc/hosts :
Обратите внимание, что имя хоста должно идти первым, до localhost и прочего. Иначе будет ошибка, описанная ниже.
Устанавливаем пакет oracle-rdbms-server-11gR2-preinstall , который установит все необходимые зависимости, создаст пользователя, группы и установит limits :
Проверяем наличие пользователя:
Устанавливаем пароль пользователю:
Далее действия выполняем от пользователя oracle :
Проверяем установленные ограничения для пользователя:
Ограничение на максимальное количество процессов:
В таком случае можно изменить лимит командой:
Но нельзя увеличить лимит свыше параметра, указанного как hard .
Создадим домашнюю директорию для самого Oracle:
Директорию для баз:
Устанавливаем вывод DISPLAY на IP машины с Windows:
На машине с Windows должно открыться окно:
В случае ошибки вида:
Разархивируем пакет с Oracle Database 11g:
В окне xterm на Windows запускаем установку:
Должно появится окно:
Заполняем поля, жмём Next. Устанавливаем параметры proxy , если требуется:
В данном случае Oracle будет использовать локальный CNTLM-прокси.
Или просто не указывайте ничего в первом окне, и нажмите Yes в появившемся окне с предупреждением.
Создаём новую базу данных:
Выбираем тип установки Server Class:
Указываем Single Instance:
Выбираем Typical install:
Далее нам необходимо указать пути к каталогам, которые мы задали в .bashrc :
Будем использовать принятые по-умолчанию значения:
Проверим группы пользователя:
Указываем директорию для файлов установки:
Начинаются различные предустановочные проверки:
Проверка необходимых зависимостей:
Копировать можно прямо из окна инсталятора, но иногда приходится несколько раз выполнять Ctrl+C и Ctrl+V.
Нажимаем Check again:
Теперь не хвататет только пакета pdksh-5.2.14 . Однако, на официальной странице руководства Oracle об этом поминается, и сказано:
ОК, ставим галочку Ignore All и нажимаем Next:
Последний раз всё проверяем:
В случае ошибки Oracle Net Configuration Assistant failed:
Начинается копирование файлов базы:
Можно понаблюдать за логами:
В случае ошибки вида Listener is not up or database service is not registered with it:
Запускаем консоль LISTENER :
Проверяем имя хоста в данный момент:
Пробуем запустить ещё раз:
В окне с ошибкой нажимаем OK и продолжаем установку.
В следующем окне кликаем на Password Management:
Устанавливаем пароль для пользователя SYS :
Жмём OK, и переходим к запуску скриптов от пользователя root :
Жмём ОК для продолжения.
Проверяем работу TNSLSNR :
Проверяем наличие процесса:
Проверим работает ли сама база. Подключаемся через sqlplus :
Необходимо проверить переменную $ORACLE_SID :
Если во время установки был указан другой SID , или отличается в файле профиля пользователя:
После выполнения данного пункта потребуется перезагрузка сервера.
Создать директорию scripts
Создаем директории для установки DataBase:
Создадим скрипты запуска/остановки БД:
chmod u+x /home/oracle/scripts/*.sh
linux.x64_193000_db_home.zip
Установку необходимо запускать из $ORACLE_HOME
Создаем инстанс DataBase oracle.
На втором шаге выбираем «Server class».
Выбираем установку Enterprise Edition.
Указываем директорию для установки Oracle.
Выбираем «General Purpose».
Указываем SID и Service name.
Указываем размер утилизации памяти, данный параметр влияет на размер PGA и SGA.
Указываем кодировку.
Данный параметр пропускаем. Он необходим для подключения EM к Cloud Control.
Необходимо ставить галочку, если хотим включить FRA.
Указываем пароль к УЗ SYS.
Указываем пароль root, что бы необходимые скрипты автоматически запустились.
На шаге 14 проверяется настройки OS и установка необходимых пакетов.
Можно залогиниться используя УЗ SYS.
После установки БД
Ручной запуск и остановка БД
Примечание: после установки, база данных запускается автоматически. Выполнять пункты ниже не обязательно.
Читайте также: