Установка Oracle на Ubuntu: пошаговая инструкция для DevOps | AdminWiki

Подробное руководство по установке Oracle Database на Ubuntu

30 декабря 2025 8 мин. чтения #Oracle #Oracle Database #devops #linux #ubuntu #базы данных #установка Oracle

Установка Oracle Database на Ubuntu — задача, которая может показаться сложной из-за различий между дистрибутивами Linux. Oracle официально поддерживает Red Hat и Oracle Linux, но это не значит, что на Debian-системах она невозможна. Давай разберем пошаговый процесс, который позволит тебе развернуть полноценный экземпляр Oracle для разработки или тестирования на Ubuntu.

Представь, что это твой личный чек-лист от опытного DevOps-инженера. Мы пройдем через все этапы: от подготовки системы до первого подключения к базе данных, обращая внимание на подводные камни.

Подготовка системы Ubuntu к установке Oracle

Перед тем как начать установку Oracle Database, необходимо правильно подготовить операционную систему. Oracle предъявляет специфические требования к ресурсам и конфигурации.

Требования к системе

Компонент Минимальные требования Рекомендуемые
Оперативная память 1 ГБ 4 ГБ и более
Дисковое пространство 10 ГБ 50 ГБ для данных
Процессор 2 ядра 4+ ядер
Версия Ubuntu 20.04 LTS, 22.04 LTS
Внимание! Oracle Database официально не поддерживается на Ubuntu. Данная инструкция предназначена для тестовых и учебных сред. Для production-окружения используйте официально поддерживаемые дистрибутивы.

Установка необходимых пакетов

Первым делом обновим систему и установим пакеты, необходимые для работы Oracle:

bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y alien libaio1 libaio-dev unzip \
    build-essential libstdc++6 libcap1 libelf1 \
    libgcc-s1 libstdc++6 ksh libnuma1 sysstat \
    bc rpm lsb-release libnsl2 libnsl-dev

Настройка параметров ядра и системы

Oracle требует специфических настроек ядра Linux. Давай настроим их правильно.

Настройка sysctl.conf

Отредактируем файл конфигурации ядра:

bash
sudo nano /etc/sysctl.conf

Добавь или измени следующие параметры в конце файла:

config
# Oracle Database параметры
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.ip_local_port_range = 9000 65500
vm.swappiness = 10

Примени изменения:

bash
sudo sysctl -p

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

Oracle требует наличия специальных пользователей и групп:

bash
sudo groupadd -g 54321 oinstall
sudo groupadd -g 54322 dba
sudo groupadd -g 54323 oper
sudo groupadd -g 54324 backupdba
sudo groupadd -g 54325 dgdba
sudo groupadd -g 54326 kmdba
sudo groupadd -g 54327 asmdba
sudo groupadd -g 54328 asmoper
sudo groupadd -g 54329 asmadmin

sudo useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin oracle
sudo passwd oracle

Настройка лимитов для пользователя oracle

Создадим файл с ограничениями:

bash
sudo nano /etc/security/limits.d/oracle.conf

Добавь следующие строки:

config
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728

Подготовка директорий и загрузка Oracle

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

bash
sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
sudo mkdir -p /u01/app/oracle/oradata
sudo mkdir -p /u01/app/oraInventory
sudo mkdir -p /u01/app/oracle/fast_recovery_area

sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01

Загрузка Oracle Database

Скачай Oracle Database 19c с официального сайта Oracle (требуется регистрация). Файлы будут в формате .zip:

bash
# Переходим в домашнюю директорию oracle
sudo su - oracle

# Создаем директорию для загрузок
mkdir -p /home/oracle/downloads
cd /home/oracle/downloads

# Здесь должны быть файлы:
# LINUX.X64_193000_db_home.zip
# LINUX.X64_193000_grid_home.zip (опционально)
Важно: Убедись, что у тебя достаточно свободного места для распаковки архива (около 10 ГБ). Также проверь, что файлы скачаны полностью и не повреждены.

Распаковка и установка Oracle Database

Распаковка архива

bash
cd /home/oracle/downloads
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1

Настройка переменных окружения

Добавим настройки в .bashrc пользователя oracle:

bash
nano ~/.bashrc

Добавь в конец файла:

config
# Oracle Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=RUSSIAN_RUSSIA.AL32UTF8
export TNS_ADMIN=\$ORACLE_HOME/network/admin

Примени изменения:

bash
source ~/.bashrc

Запуск установщика Oracle

Теперь запустим графический установщик Oracle Universal Installer:

bash
cd $ORACLE_HOME
./runInstaller
Если нет графического интерфейса: На серверах без GUI используй silent-установку с response-файлом или установи минимальный X-сервер: sudo apt install xorg openbox и установи переменную DISPLAY: export DISPLAY=:0

Ключевые шаги в установщике

  1. Выбери "Set Up Software Only" (только установка ПО)
  2. Укажи ORACLE_BASE: /u01/app/oracle
  3. Укажи ORACLE_HOME: /u01/app/oracle/product/19.0.0/dbhome_1
  4. Выбери группы: oinstall (привилегированная), dba (стандартная)
  5. Пропусти проверку prerequisites (мы уже настроили систему вручную)
  6. Заверши установку

Запуск скриптов от root

После установки запусти скрипты от имени root:

bash
# Выйди из пользователя oracle
exit

# Запусти скрипты от root
sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

Создание базы данных Oracle

Запуск Database Configuration Assistant

Вернись в пользователя oracle и запусти DBCA:

bash
sudo su - oracle
dbca

Параметры создания базы данных

  1. Выбери "Create a database"
  2. Выбери "Advanced configuration"
  3. Тип базы: "General Purpose or Transaction Processing"
  4. Имя БД: orcl (или свое)
  5. Конфигурация хранения: File System
  6. Расположение файлов: Use Common Location - /u01/app/oracle/oradata
  7. Fast Recovery Area: включи, путь /u01/app/oracle/fast_recovery_area
  8. Пароли: установи единый пароль для системных пользователей
  9. Память: настрой автоматическое управление (AMM)
  10. Характеристики: оставь по умолчанию
  11. Заверши создание

Проверка установки и подключение

Проверка статуса базы данных

bash
sqlplus / as sysdba

SQL> SELECT name, open_mode FROM v$database;
SQL> SELECT * FROM v$version;
SQL> exit

Настройка автоматического запуска

Создадим службу для автоматического запуска Oracle:

bash
sudo nano /etc/systemd/system/oracle.service

Добавь содержимое:

config
[Unit]
Description=Oracle Database
After=network.target

[Service]
Type=simple
RemainAfterExit=yes
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut $ORACLE_HOME

[Install]
WantedBy=multi-user.target

Активируй службу:

bash
sudo systemctl daemon-reload
sudo systemctl enable oracle.service
sudo systemctl start oracle.service
sudo systemctl status oracle.service

Частые проблемы и их решения

1. Ошибка линковки

Проблема: Ошибки при запуске sqlplus или других утилит Oracle

Решение: Проверь переменные LD_LIBRARY_PATH и установи недостающие библиотеки:

bash
sudo apt install libnsl2 libnsl-dev libaio1

2. Недостаточно памяти shared memory

Проблема: ORA-27102: out of memory

Решение: Увеличь размер shared memory:

bash
sudo nano /etc/sysctl.conf
# Увеличь kernel.shmmax и kernel.shmall
sudo sysctl -p

3. Проблемы с кодировкой

Проблема: Кракозябры в выводимом тексте

Решение: Установи правильную локаль и NLS_LANG:

bash
export NLS_LANG=RUSSIAN_RUSSIA.AL32UTF8
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8

Оптимизация производительности

  • Используй Automatic Memory Management (AMM) для упрощения управления памятью
  • Настрой Fast Recovery Area для автоматического бэкапа
  • Регулярно обновляй патчи Oracle для безопасности и стабильности
  • Используй мониторинг через Enterprise Manager или сторонние инструменты
  • Настрой автоматическое расширение табличных пространств чтобы избежать ошибок нехватки места

Заключение

Установка Oracle Database на Ubuntu требует внимания к деталям, но вполне выполнима. Ключевые моменты успеха:

  1. Тщательная подготовка системы (пакеты, настройки ядра)
  2. Правильная настройка пользователей и прав доступа
  3. Внимание к переменным окружения
  4. Понимание различий между дистрибутивами Linux

Теперь у тебя есть рабочая среда Oracle для разработки и тестирования. Помни, что для production-сред рекомендуется использовать официально поддерживаемые дистрибутивы, но для локальной разработки этот вариант отлично подходит.

Часто задаваемые вопросы (FAQ)

Поделиться:
Сохранить гайд? В закладки браузера