- 1) Устанавливаем Oracle Linux 6.5
- 2) Обновляем систему
- 3) Открываем порты в firewall
- 4) Подготовка к установке Oracle
- 5) Настройка Screensaver и удаленного доступа по VNC
- 6) Устанавливаем Oracle DB
- 7) Прописываем переменные
- 8) Работа с СУБД, пример создания базы и работы с ней
- 9) Чего-то здесь не хватает...
- Выводы
В данной статье мы рассмотрим вопрос установки и настройки Oracle Database Enterprise Edition 11gR2 на Oracle Linux 6.5 (основана на RedHat, лицензия GNU GPL — бесплатна для коммерческого использования). Если поставить этот процесс «на поток», то по скорости установки и настройки он не будет уступать Windows.. и даже быстрее получится 

Из нюансов: придется использовать X-сервер (графику), т.к. установка и настройка Oracle Database через responseFile не очень удобна.
Пометки: символ # перед командой, значит что ее нужно запускать от имени root. Если символа нет, то от имени пользователя oracle. Это важно.
1) Устанавливаем Oracle Linux 6.5
Тут все довольно просто, я думаю достаточно обойтись советами...
а) Инсталлятор предлагает сразу настроить сеть в графическом режиме, если это «боевой» сервер — можно настраивать, если виртуальный (с возможностью копирования и переноса), то лучше это будет сделать потом с помощью конфигурационных файлов.
Опишем этот процесс (думаю тут все понятно, комментарии не нужны):
# nano /etc/sysconfig/network
NETWORKING=yesHOSTNAME=DFOLGATEWAY=1.1.1.9
Устанавливаем свои параметры. UUID и HWADDR — лучше оставить родные:
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0NM_CONTROLLED=yesONBOOT=yesTYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=yesIPV6INIT=noNAME="System eth0"#UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03#HWADDR=52:54:00:91:6a:b3PEERROUTES=yesIPADDR=1.1.0.235NETMASK=255.255.248.0GATEWAY=1.1.1.9DNS1=1.1.1.10USERCTL=no
Прописываем свой IP в hosts:
# nano /etc/hosts
1.1.0.235 DFOL
Включение и выключение сетевого интерфейса:
# ifdown eth0
# ifup eth0
Для проверки:
# ifconfig -a
б) Разметка диска. Если это у нас виртуальный сервер, то можно все устанавливать в один раздел («Use All Space»). Если же полноценный боевой сервер, то рекомендую делать следующее («Create Custom Layout»): разбить диск на 2 логических (200 гб для системы, остальное для oracle и его баз). Сам Oracle и базы будут установлены в папку /home/oracle. Соответственно, папка home — это будет смонтированный второй логический раздел диска (это как аналог диска D в Windows). Все это можно сделать в графике. У меня, на тестовой машине, это выглядит так:

Если данные в базах на вашем сервере будут строго конфиденциальны, то здесь же можно установить «шифрование на лету» для папки home. Оно будет потреблять минимум ресурсов, т.к. реализовано на уровне ядра Linux.
в) Ставим галочки возле «Desktop», а внизу «High Availability», «Load Balancer», «Oracle Linux Server», «UEK3 kernel repo». Далее и.. устанавливаем.
2) Обновляем систему
Обновление системы выполняется одной командой:
# yum update
Однако, в случае с Oracle Linux , нам необходимо еще подключить public репозиторий:
# cd /etc/yum.repos.d# yum repolist# yum update
3) Открываем порты в firewall
Порты открываются для работы Oracle DB и VNC.
# service iptables stop
# nano /etc/sysconfig/iptables
Туда вставить (порт 1521 - для Oracle, остальные для VNC):
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 5500 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 5800 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
# service iptables start# service iptables restart
4) Подготовка к установке Oracle
А тут самый красивый «финт ушами» :) В Oracle Linux предусмотрена одна единственная команда для подготовки системы к установке Oracle Database. Она разрешает все зависимости в системе, устанавливает все необходимые пакеты, модифицирует параметры ядра ОС, создает пользователя oracle и дает ему все необходимые права, также создает группы dba и oinstal. Иными словами — выполняется куча подготовительной работы.
Итак...
# yum install oracle-rdbms-server-11gR2-preinstall
Зададим пароль пользователю oracle:
# passwd oracle
5) Настройка Screensaver и удаленного доступа по VNC
Логинимся в графическом режиме под пользователем oracle.
а) Первым делом отключаем автоматическую блокировку экрана. Заходим System >>> Preferences >>> Screensaver. Там все будет очевидно.

б) Далее, включаем удаленный доступ по VNC. Заходим System >>> Preferences >>> Remote Desktop. Устанавливаем все галочки, как указано на скриншоте (пароль доступа по VNC должен совпадать с паролем пользователя oracle):

в) Чтобы по VNC можно было подключится после перезагрузки системы, необходимо настроить авто-логин для пользователя oracle. Делается это так, в конфиг:
# nano /etc/gdm/custom.conf
Необходимо добавить:
[daemon]AutomaticLoginEnable=trueAutomaticLogin=oracle
А потом перезагружаемся:
# reboot
г) Чтобы gnome-keyring не блокировался после перезагрузки системы и мы могли спокойно подключится без подтверждения со стороны сервера, необходимо сделать следующее... Идем в Applications >>> Accessories >>> Passwords and Encryption Keys. Правый клик на Passwords, потом Unlock (вводим пароль). Потом правой кнопкой - Change password (см. второй скриншот). Вводим старый пароль, остальное оставляем пустым. Потом на вопрос отвечаем "Use Unsafe Storage".


Все! Теперь мы можем когда угодно подключается удаленно к нашему рабочему столу (по паролю) причем несколькими пользователями одновременно, не выбивая при этом друг друга.
д) Чуть настроим файловый менеджер nautilus, чтобы пользоваться им стало приятнее:


После данных манипуляций, выглядеть он будет так:

6) Устанавливаем Oracle DB
Устанавливать будем в графическом режиме. Конечно, есть возможность установки с консоли используя -responseFile, но это бессмысленно... т.к. администрировать базы всеравно придется из графики. Сначала необходимо закачать дистрибутив. Используйте для этого что вам удобно, к примеру filezilla c sftp с логином и паролем oracle в папку /home/oracle/odb.
Даем права на папку установщика:
# chown -R oracle /home/oracle/odb# chmod 755 -R /home/oracle/odb
Потом, зайдя на сервер в графическом режиме под учеткой oracle, запускаем установку командами:
cd /home/oracle/odb/database/./runInstaller -ignoreInternalDriverError
Для теста, мы рассмотрим вариант установки всего «по дефолту» с созданием тестовой базы "orcl", обратите внимание на настройки:

Перед завершением установки, от имени root в консоли нужно выполнить два скрипта. Не забудьте!

Даем права на папку установленного Oracle:
# chown -R oracle /home/oracle/app# chmod 755 -R /home/oracle/app
7) Прописываем переменные
Чтобы заработала команда sqlplus в консоли, необходимо прописать глобальные переменные (под пользователем oracle):
nano .bashrc
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1export ORACLE_HOMEPATH=$PATH:$ORACLE_HOME/binexport PATHORACLE_SID=orc1export ORACLE_SIDORACLE_UNQNAME=orclexport ORACLE_UNQNAMELD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/libexport LD_LIBRARY_PATHORACLE_HOME_LISTNER=/home/oracle/app/oracle/product/11.2.0/dbhome_1export ORACLE_HOME_LISTNER
Перезагружаемся:
# reboot
8) Работа с СУБД, пример создания базы и работы с ней
Итак, попробуем создать базу и поработать с ней. Для этого, подключаемся к нашему серверу по VNC, потом заходим сюда: /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin. Тут вы увидите все привычные утилиты для работы с Oracle Database. Например dbca (database configuration assistant) или netca (network configuration assistant). Далее, все как обычно.
Если нам нужен будет на инстанции веб-интерфейс Enterprise Manager, то необходимо поставить галочку:

Запомните адрес веб-интерфейса, порт и SID базы:

После установки инстанции, чтобы ее активировать, необходимо поправить конфиг:
nano /etc/oratab
Там исправить:
Команды для запуска сервисов (от пользователя oracle):
а) Управление listener:
lsnrctl startlsnrctl stoplsnrctl status
б) Запуск и остановка database:
dbstartdbshut
Успешность запуска баз можно проверить по логам тут: /home/oracle/app/oracle/product/11.2.0/dbhome_1/startup.log
в) Запуск dbconsole (веб-интерфейс, Enterprise Manager)...
Запускается по очереди, для каждой базы по отдельности. Сначала указываем ORACLE_SID — потом запускаем dbconsole. Для каждой базы будет свой веб-интерфейс на своем порту. Откройте нужный порт в п.3 для нового веб-интерфейса. Но учтите! Enterprise Manager — может быть и удобный инструмент, но он — монстр! Очень сильно нагружает сервер и увеличивает общий объем базы.
export ORACLE_SID=orclemctl start dbconsole
Проверка статуса и остановка службы:
emctl stop dbconsoleemctl status dbconsole
А так он выглядит в браузере:

Запуск и остановка баз
Команды dbstart/dbshut запускают/останавливают все базы, которые обозначены в файле /etc/oratab символом Y в конце. Если будет символ N — то они их игнорируют. Если dbstart использовать дважды — уже запущенные базы будут перезапущены (соответственно — остановлены и запущены). Т.е. если мы хотим запустить/остановить только несколько баз или какую-то одну, то сначала ее нужно обозначить в файле/etc/oratab. Также, у нас полноценно работает sqlplus и мы можем остановить базу оттуда.
Т.е. например вводим команду:
sqlplus sys/пароль@имябазы as sysdba
И потом:
shutdown normal
Все, база корректно остановлена.
9) Чего-то здесь не хватает...
Точно, не хватает описания процесса автозапуска всего этого после перезагрузки системы . Поскольку запускать нужно именно от пользователя oracle, то все выходит не так просто... это будет скрипт средней сложности, если данная тема у нас получит оборот — я напишу и добавлю его попозже.
Выводы
Сравнивания с Windows, мы имеем полноценную альтернативную ОС для серверов БД. Только вместо RDP у нас VNC, вместо cmd у нас bash. Можно спокойно подключится по VNC и управлять сервером как будет угодно, включая запуск терминала под графикой... а можно подключится под putty по SSH и работать только в командной строке. Залить/скачать файлы? Да запросто, по защищенному протоколу sFTP через FileZilla,Total Commander или WinSCP — как душе угодно, никакие права и расшаривания папок не нужны.
Очевидным недостатком является, пожалуй, не совсем красивый процесс остановки/запуска баз (не так как в Windows, через остановку и запуск служб). Но тут говорит, на мой взгляд, просто сила привычки.
Комментариев нет:
Отправить комментарий