Admin/Oracle10gALM24
ALT Linux 2.4 Master не относится к числу официально поддерживаемых дистрибутивов Linux, поэтому его вряд ли имеет смысл использовать в тех случаях, когда требуется техническая поддержка корпорации Oracle. Но бывают случаи, когда поддержка не так актуальна, именно этот случай и будет описан ниже. Автор с благодарностью примет любые замечания и пожелания, относящиеся к данному документу.
Для упрощения процедуры установки на основе пакета oracle-preinstall-0.2-alt6.src.rpm из ALT Linux 2.4 Master был создан аналогичный пакет oracle10g-preinstall, который унаследовал от своего родителя следующие функции:
- Установку пакетов, необходимых для установки и работы Oracle
- Создание пользователя oracle и групп oinstall, dba, oper
- Настройка домашней директории пользователя oracle
- Настройка переменных окружения для всех пользователей
- Создание стартовых скриптов
- Внесение изменений в /etc/security/limits.conf
Пакет oracle10g-preinstall отличается от своего родителя следующим:
- Поддерживается только Oracle 10g, предыдущие версии не поддерживаются, соответственно изменены переменные окружения
- Изменен список требуемых пакетов
- Добавлены конфигурационные файлы bash для пользователя oracle, переменные TMP и TMPDIR указывают на /tmp
- Изменен список стартовых скриптов: добавлены oracle-em, oracle-isql, oracle-search; удалены oracle-agent, oracle-http
- В /etc/security/limits.conf изменения вносятся только в том случае, если настройки для пользователя oracle отсутствуют
- Ссылка /etc/redhat-release заменяется одноименым файлом, в котором написано: redhat-3
- Исправлено несколько мелких багов
При удалении пакета удаляются только файлы, которые ему принадлежат (в их число не входит содержимое каталогов /opt/oracle/app, ссылки в /var/opt/oracle, а также то, что создаст инсталлятор в /etc и /opt), и не удаляются пользователь oracle и группы oinstall, dba, oper. Инсталляция Oracle остается вполне работоспособной в режиме ручного запуска.
После установки пакета oracle10g-preinstall необходимо задать пароль для пользователя oracle и зарегистрироваться в системе под его именем. Например, если на сервере не предполагается использование Х и установка Oracle будет проводится с удаленой UNIX-машины (в качестве которой может выступать и Windows с установленным Cygwin), это можно сделать так:
ssh -X -C oracle@db
Параметр -С указывает, что мы хотим сжимать трафик ssh, а -Х указывает, что весь графический вывод с удаленной машины необходимо перенаправить на локальные Х.
После регистрации необходимо запустить инсталлятор самого Oracle, который предложит установиться в каталог, заданный параметром ORACLE_HOME из /etc/profile.d/oracle10g.sh. При создании экземпляра необходимо проследить, чтобы SID соответствовал параметру ORACLE_SID из /etc/profile.d/oracle10g.sh — только к этому экземпляру можно будет потом обратиться из sqlplus, не указывая SID, и из web-приложений Enterprise Manager, iSQLPlus и UltraSearch, не используя Oracle Grid Control. В процессе установки необходимо будет выполнить скрипт root.sh от имени root, об этом напомнит инсталлятор.
После установки необходимо с помощью chkconfig или ntsysv указать, какие из сервисов /etc/init.d/oracle-* нужно запускать при загрузке. Также необходимо отредактировать файл /etc/oratab, указав, какие экземпляры при этом необходимо стартовать, и создать ссылку /var/opt/oracle/oratab.
После запуска необходимых сервисов к созданному экземпляру можно обратиться, используя стандартный sqlplus или следующие web-приложения:
Enteprise Manager 10g Database Control — http://db:5500/em iSQL*Plus — http://db:5560/isqlplus iSQL*Plus DBA — http://db:5560/isqlplus/dba Ultra Search URL — http://db:5620/ultrasearch Ultra Search Administration Tool — http://db:5620/ultrasearch/admin
Ссылки:
Чего не хватает в пакете oracle10g-preinstall:
- Создания chroot для Oracle
- Готовых образцов responce-файлов для автоматической установки Oracle без Х (об этом читать Installation Guide for UNIX Systems B. Installing and Configuring Oracle Products Using Response Files в каталоге doc дистрибутива)
- Готовых образцов скриптов для создания БД без использования DBCA (и, соответственно, без Х)