Установка Oracle Database 12c в Oracle Linux 7 update 3

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 1073]


    Идея написать статью по установке Oracle Database посещает меня стабильно раз в пол года и потом откладывается в долгий ящик до следующей задачи по настройке окружения.

    Oracle 12c Logo

    Честно говоря я уже давненько не являюсь полноценным Oracle DBA и многое забыл (хотя тут как на велосипеде ездить, "не забудешь никогда"), но несколько раз в год всплывают задачи поднять Oracle Database для очередного проекта разработчикам и каждый раз начинается одна и та же эпопея с поиском нормальной пошаговой инструкции со всеми нюансами. Сегодня я в спокойной обстановке установлю Oracle DB 12c на ее родной Oracle Linux и напишу на будущее собственный гайд.

    Комментарии конечно же принимаются и настоящие гуру могут дополнить этот небольшой гайд, который надеюсь в дальнейшем будет полезен коллегам администраторам.

    Установка Oracle Linux 12c

    Oracle Linux построен на кодовой базе RedHat с использованием некоторых специальных патчей от Oracle для повышения стабильности работы и производительности продуктов Oracle и естественно раз они так говорят, то и использовать имеет смысл именно этот дистрибутив.

    Для начала мы скачиваем Oracle Linux 7 Upadate 3 с сайта https://edelivery.oracle.com/osdc/faces/SearchSoftware, там механизм поиска ПО для загрузки немного дубовый и вам придется использовать поиск для выбора образа для загрузки и естественно вам понадобится учетная запись на сайте Oracle (любого уровня).

    В поле Search by введите Oracle Linux.

    Загрузка Oracle Linux с официального сайта

    В поле Select Platform выберите x86 64bit после чего появится один продукт и потребуется нажать кнопку Continue.

    Загрузка Oracle Linux часть вторая

    На выбор только один релиз 7 update 3 и пять файлов для загрузки, собственно это то, что нам и надо, и жмем Continue снова.

    Oracle Linux установка - выбор релиза дистрибутива

    После того как мы согласились с условиями лицензионного соглашения нам наконец-то позволят выбрать файлы для загрузки и мы выбираем только V834394-01.iso - Oracle Linux Release 7 Update 3 for x86 (64 Bit).

    Загрузка образа Oracle Linux

    По окончании загрузки переименуйте образ из цифро-буквенного обозначения во что-то вменяемое и приступайте к установке. Как я уже говорил, инсталлятор там от RedHat, поэтому если вы уже устанавливали RedHat/Centos, то ничего нового там не увидите. Кстати, я уже рассматривал установку Oracle Linux, но в контексте установки с минимального носителя в статье "Oracle Linux - network install (Установка Oracle Linux с минимального установочного носителя)" и думаю повторяться не имеет особого смысла и я просто записал небольшое видео как устанавливал тестовую виртуальную машину для этого примера.

    Обратите внимание, что я выбрал режим установки минимальный без графического окружения ведь графическое окружение нам фактически потребуется только на этапе установки Oracle Database и этот этап мы проведем пробросом графики через SSH на рабочую станцию (реализуем Linux-аналог RemoteAPP).

    И еще обратите внимание, что я создал раздел подкачки 4 гб, это принципиальный момент на который обращает внимание инсталлятор Oracle Database вне зависимости от того сколько у вас оперативной памяти.

    В минимальную поставку Oracle Linux не входят некоторые привычные инструменты системного администратора и я рекомендую их сразу же установить:

    # yum install net-tools
    # yum install bind-utils

    Ну и конечно не забудьте обновить систему:

    # yum update

    Для работы Oracle Database требуется провести довольно серьезную работу по тюнингу различных параметров ядра и переменных окружения, так же требуется установить ряд необходимых библиотек. Но, есть метод проще и заключается он в использовании специального пакета преднастроек. Установив данный пакет все требуемые настройки для работы Oracle 12c будут произведены в автоматическом режиме.

    Устанавливаем минимальный набор ПО при помощи специального репозитория:

    # yum install wget# cd /etc/yum.repos.d
    # wget http://public-yum.oracle.com/public-yum-ol7.repo
    # yum install oracle-rdbms-server-12cR1-preinstall.x86_64

    Установка СУБД Oracle 12c

    Следующим этапом нам необходимо скачать дистрибутивные файлы СУБД Oracle 12c и для скачивания как и в случае с Oracle Linux вам потребуется учетная запись на сайте Oracle.

    Перейдите по ссылке http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html и обязательно выберите пункт "Accept License Agreement", после чего вы сможете скачать файл "Linux x86-64".

    Загрузка Oracle 12c с официального сайта. 

    По завершении загрузки вам потребуется скопировать файлы на сервер где будем производить установки и сделать это проще всего при помощи CSP:

    $ scp ./linuxx64_12201_database.zip root@172.16.0.83:/tmp/

    Распакуем дистрибутив в домашний каталог пользователя oracle и зададим пароль для этого пользователя:

    # unzip /tmp/linuxx64_12201_database.zip -d /home/oracle/
    # passwd oracle
    # chown -R oracle /home/oracle/database/

    Так-же нам потребуется создать каталог где будет храниться наша база данных и утилиты для работы с ней. Обычно используется каталог /u01/:

    # mkdir /u01/
    # chown oracle /u01/

    Как я уже говорил выше, графическое окружение нам недоступно и мы будем использовать проброс графического окружения локальной рабочей станции на сервер баз данных. Эту операцию нам потребуется выполнить один раз, а все дальнейшие операции мы будем выполнять в консоли сервера.

    $ ssh -X oracle@172.16.0.83

    Параметр -X задает перенаправление вывода графики на локальный X-сервер и соответственно запустив инсталлятор мы увидим графическую оболочку установщика так как будто мы запустили приложение локально:

    $ cd /home/oracle/database/
    $ ./runInstaller

    На первом экране матера установки вы можете указать учетные данные аккаунта Oracle (если у вас конечно есть лицензия) или не указывать ничего (если лицензии нет).

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

    Следующим этапом мы выбираем режим "Create and configure a database".

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

    Выбираем режим работы "Server class".

    Режим установки базы данных - сервер класс

    Нас интересует режим установки без использования кластера. 

    Установка без использования кластера

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

    Выбираем режим типовой установки.

    Задаем пути, имя базы данных и пароль для пользователя. Обратите внимание, что пути потребуется изменить в соответствии с созданными ранее каталогами.

    Создание базы данных и пользователя

    Теперь будет произведена проверка соответствия системы требованиям предъявляемым к Oracle Database 12c и если вы все сделали по этой инструкции, то ваша система будет удовлетворять предъявленным требованиям.

    Минимальные требования к установке Oracle Database

    После нажатия на кнопку Install будет запущена установка OracleDB и это довольно длительный процесс в течение которого можно выпить чая.

    Идет установка Oracle Database

    Инсталлятор запущен от имени непривилегированного пользователя и вам потребуется вручную выполнить две команды от имени суперпользователя root.

    Команды которые необходимо выполнить от имени супер-пользователя.

    Выполним предложенные скрипты:

    # /u01/app/oraInventory/orainstRoot.sh
    # /u01/app/oracle/product/12.2.0/dbhome_1/root.sh

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

    ORACLE_OWNER = oracle
    ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1

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

    # reboot

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

    Фактически для полноценной консольной работы с базой данных Oracle вам потребуется задать несколько переменных окружения и изменить параметры PATH и похожие манипуляции мы уже рассматривали когда настраивали консольную сборку Android-приложений.

    Аналогично инструкции по сборке Android-приложений из консоли вам потребуется дополнить файл ~/.bashrc пользователя oracle следующими инструкциями:

    export PATH=$PATH:/u01/app/oracle/product/12.2.0/dbhome_1/bin/
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/
    export ORACLE_SID=orcl

    Этот файл отрабатывает при входе в систему и при следующей авторизации пользователя oracle у него будет полностью настроенное окружение.

    Как я уже сказал выше, при перезагрузке сервера база данных и "прослушиватель" будут неактивны и нам потребуется их запустить вручную.

    Прослушиватель является основным средством организации взаимодействия с базой oracle и для его запуска выполните в консоли команду (от имени пользователя oracle):

    $ lsnrctl start

    После запуска прослушиватель будет слушать порт 1521 и интерфейсы описанные в конфигурационном файле /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora и возможно вам потребуется внести в этот файл изменения.

    Обратите снимание, что по умолчанию в файле используется имя сервера, что автоматически гарантирует прослушивание локального адреса и всех других адресов прописанных на это имя в файле /etc/hosts и это иногда ставит в тупик системных администраторов при переименовании сервера.

    После запуска прослушивателя мы можем подключиться к sql-консоли и запустить базу данных. Для подключения к sql консоли используйте следующую команду (укажите пароль который вы использовали при задании пароля в графическом мастере установки):

    $ sqlplus / as sysdba

    Обратите внимание, что если вы получаете ошибку:

    ORA-12162: TNS:net service name is incorrectly specified

    Это означает, что вы не задали переменную ORACLE_SID. 

    Теперь нам необходимо в SQL-консоли запустить базу данных и разрешить к ней подключения. Для этого служит команда:

    SQL> STARTUP

    Собственно теперь с базой данных можно полноценно работать и сообщение о успешном запуске базы данных выглядит следующим образом:

    ORACLE instance started.Total System Global Area 729808896 bytes
    Fixed Size 8797056 bytes
    Variable Size 591398016 bytes
    Database Buffers 125829120 bytes
    Redo Buffers 3784704 bytes

    Автоматический запуск прослушивателя и базы данных Oracle при старте сервера

    Логично, что база должна стартовать автоматически при старте сервера и для этого мы можем использовать SystemD и простой bash-скрипт.

    Начнем со скрипта который будет запускать прослушиватель и базу данных и расположен он будет в файле /u01/oracle-startup.sh. Обязательно установите его владельцем пользователя oracle и сделайте файл исполняемым:

    #!/bin/sh
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    export PATH=$PATH:/u01/app/oracle/product/12.2.0/dbhome_1/bin/
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/
    export ORACLE_SID=orcl

    $ORACLE_HOME/bin/lsnrctl start;
    echo "STARTUP" | sqlplus / as sysdba

    exit 0

    Инит-скрипт SystemD соответственно будет находиться в файле /etc/systemd/system/oracle.service и имеет следующее содержание:

    [Unit]
    Description=Oracle database server
    After=syslog.target network.target

    [Service]
    Type=oneshot
    User=oracle
    Group=oinstall
    RemainAfterExit=yes
    ExecStart=/u01/oracle-startup.sh

    [Install]
    WantedBy=multi-user.target

    И как обычно добавляем в автозапуск при старте сервера и запускаем:

    # systemctl enable oracle
    # systemctl start oracle

    На этом пожалуй закончим с вопросами установки Oracle Database, а более глубокие вопросы администрирования мы рассмотрим в дальнейших статьях.


    Связанные записи в блоге

    Обсуждение статьи
    Вопрос нашего пользователяВырванные куски по установке БД Оракла, нет и половины, того что нужно сделать.
    Откуда у нас появляется пользователь Оракл?
    Разве не нужно сделать предстановочную подготовку?
    С какого перепугу у нас начинает работать Х сервер?
    Просто жесть, ждал статью, чтобы увидеть идеальную инструкцию, а тут
    Ответ на комментарийНу вы невнимательно читали. Установка пакета oracle-rdbms-server-12cR1-preinstall.x86_64 делает всю предполетную подготовку, а x-сервер пробрасывается на локальную рабочую станцию. Читайте внимательнее.

    Ваш комментарий: