Как установить 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 или имена хостов, которым можно подключаться к этой машине:

CentOS: установка Oracle Database 11g

Редактируем C:WindowsSystem32driversetc и добавляем адрес и имя сервера, на котором будет устанавливаться Oracle.

Переходим к самому серверу.

Установка производится на:

Обновляем все установленные пакеты:

Открываем файл /etc/sysconfig/network , проверяем соответствие имени хоста:

Проверяем файл /etc/hosts :

Обратите внимание, что имя хоста должно идти первым, до localhost и прочего. Иначе будет ошибка, описанная ниже.

Устанавливаем пакет oracle-rdbms-server-11gR2-preinstall , который установит все необходимые зависимости, создаст пользователя, группы и установит limits :

Проверяем наличие пользователя:

Устанавливаем пароль пользователю:

Далее действия выполняем от пользователя oracle :

Проверяем установленные ограничения для пользователя:

Ограничение на максимальное количество процессов:

В таком случае можно изменить лимит командой:

Но нельзя увеличить лимит свыше параметра, указанного как hard .

Создадим домашнюю директорию для самого Oracle:

Директорию для баз:

Устанавливаем вывод DISPLAY на IP машины с Windows:

На машине с Windows должно открыться окно:

CentOS: установка Oracle Database 11g

В случае ошибки вида:

Разархивируем пакет с Oracle Database 11g:

В окне xterm на Windows запускаем установку:

Должно появится окно:

CentOS: установка Oracle Database 11g

Заполняем поля, жмём Next. Устанавливаем параметры proxy , если требуется:

CentOS: установка Oracle Database 11g

В данном случае Oracle будет использовать локальный CNTLM-прокси.

CentOS: установка Oracle Database 11g

Или просто не указывайте ничего в первом окне, и нажмите Yes в появившемся окне с предупреждением.

Создаём новую базу данных:

CentOS: установка Oracle Database 11g

Выбираем тип установки Server Class:

CentOS: установка Oracle Database 11g

Указываем Single Instance:

CentOS: установка Oracle Database 11g

Выбираем Typical install:

CentOS: установка Oracle Database 11g

Далее нам необходимо указать пути к каталогам, которые мы задали в .bashrc :

Будем использовать принятые по-умолчанию значения:

Проверим группы пользователя:

CentOS: установка Oracle Database 11g

Указываем директорию для файлов установки:

CentOS: установка Oracle Database 11g

Начинаются различные предустановочные проверки:

CentOS: установка Oracle Database 11g

Проверка необходимых зависимостей:

CentOS: установка Oracle Database 11g

Копировать можно прямо из окна инсталятора, но иногда приходится несколько раз выполнять Ctrl+C и Ctrl+V.

Нажимаем Check again:

Теперь не хвататет только пакета pdksh-5.2.14 . Однако, на официальной странице руководства Oracle об этом поминается, и сказано:

ОК, ставим галочку Ignore All и нажимаем Next:

CentOS: установка Oracle Database 11g

Последний раз всё проверяем:

CentOS: установка Oracle Database 11g

CentOS: установка Oracle Database 11g

В случае ошибки Oracle Net Configuration Assistant failed:

CentOS: установка Oracle Database 11g

CentOS: установка Oracle Database 11g

Начинается копирование файлов базы:

CentOS: установка Oracle Database 11g

Можно понаблюдать за логами:

В случае ошибки вида Listener is not up or database service is not registered with it:

CentOS: установка Oracle Database 11g

Запускаем консоль LISTENER :

Проверяем имя хоста в данный момент:

Пробуем запустить ещё раз:

В окне с ошибкой нажимаем OK и продолжаем установку.

В следующем окне кликаем на Password Management:

CentOS: установка Oracle Database 11g

Устанавливаем пароль для пользователя SYS :

CentOS: установка Oracle Database 11g

Жмём OK, и переходим к запуску скриптов от пользователя root :

CentOS: установка Oracle Database 11g

Жмём ОК для продолжения.

CentOS: установка Oracle Database 11g

CentOS: установка Oracle Database 11g

Проверяем работу TNSLSNR :

Проверяем наличие процесса:

Проверим работает ли сама база. Подключаемся через sqlplus :

Необходимо проверить переменную $ORACLE_SID :

Если во время установки был указан другой SID , или отличается в файле профиля пользователя:

После выполнения данного пункта потребуется перезагрузка сервера.

Создать директорию scripts

Создаем директории для установки DataBase:

Создадим скрипты запуска/остановки БД:

chmod u+x /home/oracle/scripts/*.sh

linux.x64_193000_db_home.zip

Установку необходимо запускать из $ORACLE_HOME

Создаем инстанс DataBase oracle.

Это изображение имеет пустой атрибут alt; его имя файла - image.jpg

Это изображение имеет пустой атрибут alt; его имя файла - image-1.jpg

На втором шаге выбираем «Server class».

Это изображение имеет пустой атрибут alt; его имя файла - image-2.jpg

Выбираем установку Enterprise Edition.

Это изображение имеет пустой атрибут alt; его имя файла - image-3.jpg

Указываем директорию для установки Oracle.

Это изображение имеет пустой атрибут alt; его имя файла - image-4.jpg

Выбираем «General Purpose».

Это изображение имеет пустой атрибут alt; его имя файла - image-5.jpg

Указываем SID и Service name.

Это изображение имеет пустой атрибут alt; его имя файла - image-6.jpg

Указываем размер утилизации памяти, данный параметр влияет на размер PGA и SGA.

Указываем кодировку.

Это изображение имеет пустой атрибут alt; его имя файла - image-10.jpg

Данный параметр пропускаем. Он необходим для подключения EM к Cloud Control.

Это изображение имеет пустой атрибут alt; его имя файла - image-11.jpg

Необходимо ставить галочку, если хотим включить FRA.

Указываем пароль к УЗ SYS.

Это изображение имеет пустой атрибут alt; его имя файла - image-14.jpg

Указываем пароль root, что бы необходимые скрипты автоматически запустились.

На шаге 14 проверяется настройки OS и установка необходимых пакетов.

Можно залогиниться используя УЗ SYS.

После установки БД

Ручной запуск и остановка БД

Примечание: после установки, база данных запускается автоматически. Выполнять пункты ниже не обязательно.

Читайте также: