Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Свидание с Оракулом

Константин Клягин

Спецвыпуск: Хакер, номер #052, стр. 052-032-2


Теперь сделаем:

$ su - oracle

Затем зайдем в Disk1/ и запустим:

./runInstall -ignoreSysPrereqs

Несмотря на все заявления о поддержке Linux, инсталлятор относится к выбору дистрибутива очень избирательно, оставляя пользователям свободу выбора между последними RedHat-ами, SuSE и каким-то UnitedLinux. И хотя сначала кажется, что людям, любящим Mandrake, Debian или Gentoo, прямая дорога сосать чупа-чупс, есть способ заставить инсталлятор работать на любом дистрибутиве, что мы, собственно, и сделали - задали ключик -ignoreSysPrereqs.

Так как интерфейс у инсталлятора графический, запускать его надо под X-Window. На все задаваемые вопросы отвечаем положительно, нажимая кнопку Next. Также нас попросят запустить небольшой скриптец от рута (его название будет в выскочившем диалоге) и установить пароли для системных пользователей в базе Oracle. Пользователи, такие как system, могут при неаккуратном обращении испортить в базе данных многое, поэтому к безопасности доступа для таких функций стоит подходить с некоторым фанатизмом.

После создания базы, в самом конце нас попросят запустить еще один скрипт, чтобы завершить установку. Если для того, чтобы инсталлятор запустился, пришлось задать ключик -ignoreSysPrereqs, здесь же придется столкнуться с последствиями, то есть закомментировать пару строчек скрипта перед запуском.

Чтобы root.sh не вылетал при попытке запуска под Linux, отличным от RedHat и UnitedLinux, надо найти и закомментировать следующие две строчки:

$LNS $ID/init.cssd $rc/"$RC_START"init.cssd || { $ECHO $?; exit 1; }

$LNS $ID/init.cssd $rc/"$RC_KILL"init.cssd || { $ECHO $?; exit 1; }

В зависимости от подверсии 10g они могут находиться как рядом, так и в двух соседних циклах for/done.

Вот и все. Теперь:

# . <путь к Oracle>/root.sh

В окне инсталлятора при этом нужно нажать OK. В результате - создались все нужные файлы, Oracle стартовал, а вместе с ним запустились всяческие полезные сервисы, о которых нам бодро доложили. Но перед тем как заняться исследованием вновь установленного монстра, убедись, что умеем стартовать его вручную. Дело в том, что после первой же перезагрузки наш Oracle станет недоступен. А запустить инсталлятор с тем, чтобы он нам опять поднял базу, мы уже не сможем. Для этого познакомимся с файлом /etc/oratab, в котором определяется, какие базы данных стартуют автоматически при запуске утилиты dbstart. По умолчанию последняя строка файла выглядят следующим образом:

orcl:<путь к Oracle>:N

В последнем поле нужно поменять N на Y. Это означает, что инстанцию Oracle нужно-таки грузить. Перейдем к старту. Подготовка:

$ export ORACLE_HOME=<путь к Oracle>

$ export ORACLE_SID=orcl

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

$ export PATH=$PATH:$ORACLE_HOME/bin

Это имеет смысл прописать где-нибудь в .bash_profile, потому что иначе придется устанавливать эти переменные всякий раз при необходимости воспользоваться каким-то инструментом от Oracle. Плюс их должен иметь каждый пользователь системы, намеревающийся работать с инструментами или программами, использующими БД.

Назад на стр. 052-032-1  Содержание  Вперед на стр. 052-032-3