Ключевые слова:oracle, install, linux, (найти похожие документы)
From: NBagin
Newsgroups:
Date: Mon, 12 Oct 2008 17:02:14 +0000 (UTC)
Subject: Установка Oracle Express Edition 10g на Zenwalk Linux 5.2
Для установки необходимо:
libaio-0.3.106-i486-1.tgz - библиотека асинхронного ввода вывода. По
умолчанию не устанавливается не в одном известном мне дистрибутиве. Я
взял этот пакет с репозитория Zenwalk-a.
unixodbc-2.2.12-i486-52.1.tgz - юниксовый вариант ODBC. Его также нет в
стандартной установке Zenwalk Linux 5.2, но он тоже есть в репозитории.
В принципе, этот пакет для работы не очень то нужен, но у
устанавливаемого мною оракла обнаружилась такая зависимость.
Непосредственно сам OracleXE. На сайте Oracle естественно не оказалось
готового пакета для SlackWare и я использовал
oracle-xe_10.2.0.1-1.0_i386.deb (т.е. вариант для Debian). Для
конвертации из deb в tgz существует спец. скрипт "deb2tgz" или его
модификация "deb2tgz.Zenwalk"
После того, как все необходимое скачано и установлено, не стоит спешить
с запуском конфигурационного скрипта (все равно работать не будет). А
нужно сделать следующее:
1.создать группу dba. Например так: groupadd dba
2.создать пользователя oracle. Этот пользователь будет владельцем всего,
что катается Oracle, он же делает backup и restore, он же запускает и
останавливает базу данных. И вообще, все маломальски серьезное с БД
желательно производить от его имени. Первичной группой для этого
пользователя должна быть группа dba. Создать пользователя можно любым
способом, например при помощи интерактивного скрипта adduser.
3.Внести исправления в скрипт /etc/init.d/oracle-xe. Особое внимание
следует обратить на запуск чего либо от имени пользователя oracle (в
первоначальном скрипте было написано
$SU -s /bin/bash $ORACLE_OWNER - c "<то, что хотим запустить>"
, для нашего случая надо писать так:
$SU - $ORACLE_OWNER - c ". $ORACLE_HOME/bin/oracle_env.sh && <то, что хотим запустить>")
4.Исправить файлы init.ora и initXETemp.ora, находящиеся в каталоге
$ORACLE_HOME/config/scripts. В этих файлах необходимо определить
параметры sga_target и pga_aggregate_target. По идее эти параметры
должны были бы заполнятся автоматически в процессе конфигурирования, но
я не нашел где это должно быть и почему не работает так как было
задумано. Я у себя эти параметры определил так: sga_target=570M
pga_aggregate_target=190M (у меня 2 Гб ОЗУ, если у вас меньше, то и
параметры нужны соответствующие вашему объему)
5.Рекурсивно сменить владельца для каталога $ORACLE_HOME на oracle:dba.
Сменить владельца каталога /usr/lib/oracle/xe/app/oracle (в этом
каталоге конфигурационным скриптом будут создаваться подкаталоги)
6.Создать символические ссылки в каталоге /etc/profile.d (orace_env.sh и
oracle_env.csh) на соответствующие скрипты из каталога $ORACLE_HOME/bin.
Это позволит всем подключающимся в коммандную оболочку пользователям
автоматическое указание требуемых для ORACLE переменных.
Можно запускать конфигурационный скрипт /etc/init.d/oracle-xe configure.
Конфигурирование необходимо производить от имени пользователя root.
Если вся конфигурация произведена успешно оракл будет доступен для
использования.
Если нет, то перед следующей попыткой необходимо очистить файл
/etc/default/oracle-xe, исправить, то, что конфигуратору не понравилось
и повторить попытку.
Для автоматического запуска оракла в момент запуска системы необходимо
включить вызов скрипта /etc/init.d/oracle-xe <start|stop> от имени
пользователя oracle в соответствующее место скриптов инициализации
системы. Я у себя запуск осуществляю в скрипе /etc/rc.d/rc.M,
останавливаю в скрипте /ect/rc.d/rc.6
Примечание: лично я изменил у себя скрипты конфигурирования и создания
БД таким образом, что можно указывать первоначальные параметры
непосредственно внутри установочного скрипта до его запуска, кроме этого
я переправил скрипты генерации БД таким образом, чтобы БД и backup
создавался не там, где пожелали в Oracle, а, скажем в каталоге
/DataFiles/oradata, в который у меня монтируется отдельное табличное
пространство. После этого я сгенерировал пакет
oracle-xe_10.2.0.1-1.0_i386.tgz со всеми внесенными мною исправлениями и
теперь пользуюсь им.