Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Установка ORACLE 10g (редакции Express и Enterprise) в Ubuntu 8.04  (Прочитано 41478 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Установка ORACLE 10g (редакции Express и Enterprise) в Ubuntu 8.04
По материалам зарубежной прессы и собственных эксперементов по выходным

Обе редакции под Linux скачиваются с сайта ORACLE после регистрации. Какую из них устанавливать — решать нам. Кроме политики лицензирования, главным отличием версий этих является профессиональная сфера деятельности, что, как результат обуславливает содержание самих установочных архивов.
Вкратце —
Если главное - разработка, и по большому счету  важнее, что и как делает моя программа, чем что происходит в БД, то выбор — XE. Также XE хорошо подойдет тем, кто хочет изучить SQL и вообще посмотреть что такое ORACLE и с чем его едят.
Enterprise Edition — выбор людей, которые работают или хотят работать с промышленными базами данными, и которым требуется тестовый полигон.
К большому сожалению, Oracle не выпускает версий БД для установки на Ubuntu/Debian, однако это не значит, что нельзя уставить версию, заточенную под RHEL/SUSE

Oracle 10g XE
Спасибо добрым людям, танцев с бубном мы избежим, благодаря появлению .deb-пакета.
Производительность Oracle 10g сильно зависит от оперативной памяти, даже в условиях отсутсвия внешних подключений. Поэтому, если у нас менее 1gb памяти, то нелишним будет убедиться, что раздел swap — не менее RAM * 2

Отредактируем файл репозитариев apt:
sudo nano /etc/apt/sources.list
Добавим строку
deb http://oss.oracle.com/debian unstable main non-freeСохраняем файл.

Терерь импортируем ключ подписи репозитария
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
Обновляем apt
sudo apt-get updateИ устанавливаем пакет
sudo apt-get install oracle-xe
Теперь запускаем конфигуратор
sudo /etc/init.d/oracle-xe configure
Отвечаем на вопросы и вуаля! ORACLE XE установлен и готов к работе

Web-интерфейс по умолчанию находится по адресу
http://127.0.0.1:8080/apex

Listner работает на порту 1521 (Если не меняли)


Enterprise Edition
Внимательно читаем требования к железу на сайте Oracle и список необходимых пакетов.
Проникаемся серьезностью документа. Суровая правда жизни состоит в том, что наличия некоторых пакетов для Ubuntu не требуется, зато требуются неуказанные, их-то мы и установим (Не забыв раскоментировать ресурсы universe в /etc/apt/sources.list )
sudo apt-get install build-essential libaio rpm lesstif2-dev alien
Переходим к созданию пользователя oracle и групп, в которых он будет состоять
sudo groupadd oinstall
sudo groupadd dba
sudo groupadd nobody
sudo useradd -g oinstall -G dba,nobody -d /opt/oracle -s /bin/bash oracle

Назначим пароль пользователю oracle
sudo passwd oracle

Определимся с базовой директорией oracle, создадим ее и назначим владельцем oracle и группу oinstall
sudo mkdir /opt/oracle
sudo chown -R oracle:oinstall /opt/oracle
sudo chmod -R 775 /opt/oracle

Отредактирум файл .bashrc в домашней директории пользователя oracle (в этом примере - /opt/oracle )

sudo nano /opt/oracle/.bashrc
и добавим туда следующие переменные окружения
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10gR2
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

Пришло время заняться настройками ядра -
sudo nano /etc/sysctl.conf
 добавим следующие строки
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000



Применяем параметры без перезагрузки (ну, или ребутимся)
sudo /sbin/sysctl -p

Правим файл ограничений
sudo nano /etc/security/limits.conf
Добавляем строки -
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

Пришла пора притвориться, что у нас rpm-based система типа RHEL
Создадим символические ссылки, что-бы Oracle находил то, что ищет, там, где ищет
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
sudo ln -s /usr/bin/basename /bin/basename

Перейдем каталог с разархивированной установкой Oracle и запустим инсталятор
./runInstaller -ignoreSysPrereqs
Как бы все — но остались некоторые нюансы  :coolsmiley:
« Последнее редактирование: 18 Августа 2008, 01:41:55 от Denzzzo »
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн isabsent

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Можно поподробнее о работе ХЕ - если вы её у себя ставили.
1. Если вы ставили с  дистрибутива на http://oss.oracle.com то он почему-то не помещает oracle-xe в /etc/init.d/ и еще о кое каких файлах забывает. Тот дистрибутив что лежит на сайте Оракла всё раскладывает правильно.
2. От какого пользователя запускаете её?
3. Загляните в файл alert_XE.log - полюбуйтесь на ошибки. Если вам удалось от них избавиться - расскажите.
4. Когда вы всё поставите, то в поставляемом вместе с базой примере HR (Human Resources) попытайтесь через http://127.0.0.1:8080/apex сменить и запомнить два раза подряд имя или фамилию кого-нибудь из перечисленных в таблице EMPLOEES с помощью клика на блокнотик с ручкой  :) Интересно - в пакете ЕЕ этот косяк тоже есть? :)

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Ставил, никаких ошибок не замечено, хотя ставил пакет именно с oss

в любом случае, не поленюсь вечером дома проверить
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн isabsent

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Ставил, никаких ошибок не замечено, хотя ставил пакет именно с oss

в любом случае, не поленюсь вечером дома проверить
Что показал эксперимент?  :)

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Цитировать
Что показал эксперимент?  Smiley

Вчера домой не попал :), попал только сегодня, проверил, постараюсь ответить по пунктам

Цитировать
1. Если вы ставили с  дистрибутива на http://oss.oracle.com то он почему-то не помещает oracle-xe в /etc/init.d/ и еще о кое каких файлах забывает. Тот дистрибутив что лежит на сайте Оракла всё раскладывает правильно.

/etc/init.d/oracle-xe создался, по rcN раскидался.
При установке ответил yes  на вопрос о необходимости автостарта, ребутнулся - oracle-xe запущен без моего участия.


Цитировать
2. От какого пользователя запускаете её?
C XE работаю от себя, с Enterprise Edition - только от пользователя oracle, иначе он не работать не станет  :coolsmiley:

Цитировать
3. Загляните в файл alert_XE.log - полюбуйтесь на ошибки. Если вам удалось от них избавиться - расскажите.
Честно говоря не понял про ошибки - довольно длинный файл с подробными результатами запуска оракловских скриптов. Пара ворнингов про табличные пространства, следующие скрипты эти табличные пространства настраивают, ну и тд,
Если у Вас там ошибки - выкладывайте, покумекаем.

Цитировать
4. Когда вы всё поставите, то в поставляемом вместе с базой примере HR (Human Resources) попытайтесь через http://127.0.0.1:8080/apex сменить и запомнить два раза подряд имя или фамилию кого-нибудь из перечисленных в таблице EMPLOEES с помощью клика на блокнотик с ручкой  :) Интересно - в пакете ЕЕ этот косяк тоже есть? :)

Да, попробовал, забавно :) Все дело в процедуре ADD_JOB_HISTORY триггера UPDATE_JOB_HISTORY.
Почему primary_key оказывается ограниченным - сходу непонятно, похоже автоматически не работает commit и таблица оказывается заблокированной для других изменений.
С этим интересно будет повозиться. Кстати, а в другой версии XE(не из oss) этот глюк тоже встречается?

Завтра на работе проверю на EE, дома схема HR не установлена.


« Последнее редактирование: 21 Августа 2008, 01:35:05 от Denzzzo »
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн isabsent

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
/etc/init.d/oracle-xe создался, по rcN раскидался.
При установке ответил yes  на вопрос о необходимости автостарта, ребутнулся - oracle-xe запущен без моего участия.
Я не указывал автостарт. Перед установкой удалил все файлы от прошлых установок ОраклаХЕ РУКАМИ из папок init.d и rcX, т.к сам он их при удалении не затёр. После этого тот пакет который с сайта oss поставился, но эти файлы по местам не разложил. Тот который лежит на сайте oracle всё правильно разложил.

Цитировать
C XE работаю от себя, с Enterprise Edition - только от пользователя oracle, иначе он не работать не станет 
Без ошибок в файле alert_XE.log Оракл запускается только от пользователя oracle и то если внести в файл /etc/init.d/oracle-xe строку export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Но даже при этом он запускается не консольной командой sudo /etc/init.d/oracle-xe start (как по идее положено) а только командой sudo /etc/init.d/oracle-xe restart.
В этом случае запускаются ВСЕ необходимые оракловые процессы и ЛИСТЕНЕР (tnslsnr) и нет ошибок в логе никаких.

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

вижу ошибки в файле запуска базы alert_XE.log если запускаю её не от пользователя oracle, а от "себя", от которых мне не удалось избавиться никакими установками переменных среды. Они все игнорируются почему-то.

Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/ade/aime1_build2101/oracle/has/lib/:
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths

Можно тупо напихать ненайденные библиотеки в /usr/lib/ конечно, но это какой-то "некошерный" способ избавления от ошибок.

Цитировать
Да, попробовал, забавно :) Все дело в процедуре ADD_JOB_HISTORY триггера UPDATE_JOB_HISTORY.
Почему primary_key оказывается ограниченным - сходу непонятно, похоже автоматически не работает commit и таблица оказывается заблокированной для других изменений.
С этим интересно будет повозиться. Кстати, а в другой версии XE(не из oss) этот глюк тоже встречается?
Завтра на работе проверю на EE, дома схема HR не установлена.

Я не очень разбираюсь в базах и SQL'е - видимо надо HIRE_DATE не объявлять как primary key в таблице JOB_HISTORY. Но как это сделать - я не понял. Я просто в процедуре ADD_JOB_HISTORY перед внесением  нового поля поставил удаление из неё старого - и всё заработало.  :) Не понимаю правда на сколько это правильно и соответствует ли канонам SQL  :)
   Вообще-то, анализируя скрипты запуска базы, у меня сложилось впечатление что был правильный и отработанный алгоритм запуска из-под пользователя oracle, а потом кто-то с кривыми руками налепил на него возможность запуска из-под "себя". Полезли ошибки, которые этот товарищ не увидел или не захотел исправлять. Так оно и валяется уже три года... Позор для такой солидной конторы как Оракл конечно...


Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Всетаки непонятно - у меня же разложил :)

Видимо разница в наших результатах оттого, что у меня стоит раньше стоял XE (), а теперь Enterprise Edition, соответственно в профайле давно указан указан export PATH, поэтому никаких траблов не замечено.кстати, export LD_LIBRARY_PATH=$ORACLE_HOME/lib - можно там же указать для XE

По канонам Oracle'а - с базой надо работать от пользователя oracle, это в документации четко прописано.
Что, впрочем, не помешало мне возиться с XE от себя:) Замечу, что запускаются - ВСЕ необходимые процессы (в варианте автостарта).
запустить их руками дело одной минуты да и приятно иногда поработать напрямую через sql*plus.

Решение с удалением - логично :)
Я никогда не работал со встроенными схемами - всегда создавал свое - от табличных пространств до ключей и индексов.


Хех..  в EE в родном скрипте запуска dbstart ошибка - до сих пор в дистрибутиве:) Не знаю как в 11й версии. Так что здесь не могу не согласиться, что Оракл с отношением к потребителем косячит иногда:)
Версия XE для меня лично малоинтересна, на работе EE, иногда приходится подменять АБД, так что какие-то практические навыки приходится извлекать на клоне базы, но в домашних условиях.


Успехов в оракловодстве :)



Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн isabsent

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
ЕЕ имеет смысл поставить на 1 ГБ оперативки? Она тоже бесплатная? Чем она отличается от ХЕ?

Оффлайн isabsent

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Поставил эксперимент - переустановил базу ХЕ с реп oss. Снова отказалась конфигурироваться при первом запуске, но после исправления последней строки в файле /etc/default/oracle-xe CONFIGURE_RUN=true на CONFIGURE_RUN=false конфигуратор запустился и отработал. Я указал старт базы при запуске системы. Никаикх ошибок в логах!!! Пришлось заменить только в первой строке файла /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh  sh на bash - иначе этот скрипт не работает и появляются ошибки, связанные с установкой переменной локали.

Вывод - ХЕ не заточена под работу от себя и под загрузку неодновременно со стартом системы. Тут у них всё в каких-то косяках. Чтобы их избежать надо при первичном конфигурировании указывать ТОЛЬКО загрузку вместе со стартом системы и сразу поправить nls_lang.sh. Тогда всё будет нормально.

Оффлайн gluki

  • Новичок
  • *
  • Сообщений: 27
  • Я глух и нем... Но иногда как ляпну
    • Просмотр профиля
Караул!!!

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

http://127.0.0.1:port/apex
попытался зайти - не дает Undecided

установлена 8.04 + лампа + ispconfig. Порты доступа у них разные.

Оффлайн AKR

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Ребята помогите с установкой что-то у меня идёт не так не пойму почему. Уважаемый Denzzzo если можешь стукни в аську, очень нужно.
Всё делал как написано в первом посте (чуток кое чё поменял в путях, ниже напишу что именно).
в итоге на одном из шаге установке оракл выдал:

------- проблемы в процессе установки ---------
В окне - Product-Specific Prerequisite Checks - статусы Warning и Not executed на по следующим пунктам
Цитировать
1)Checking operating system requirements ...
Expected result: One of redhat-3,redhat-4,SuSE-9,asianux-1,asianux-2
Actual Result: (Unknown OS version)
Check complete. The overall result of this check is: Failed <<<<
Problem: Oracle Database 10g is not certified on the current operating system.
Recommendation: Make sure you are installing the software on the correct platform.

2)Checking operating system package requirements ...
Check complete. The overall result of this check is: Not executed <<<<
OUI-18001: The operating system 'Linux Version (Unknown OS version)' is not supported.
Recommendation: Install the required packages before continuing with the installation.

3) Checking kernel parameters
Check complete. The overall result of this check is: Not executed <<<<
OUI-18001: The operating system 'Linux Version (Unknown OS version)' is not supported.
Recommendation: Perform operating system specific instructions to update the kernel parameters.

4) Checking Recommended glibc version
Check complete. The overall result of this check is: Not executed <<<<
OUI-18001: The operating system 'Linux Version (Unknown OS version)' is not supported.
Recommendation: You may actually have installed packages which have obsoleted these, in which case you can successfully continue with the install. If you have not, it is recommended that you do not continue. Refer to the readme to find out how to get the missing packages.

Есть возможность продолжить установку (Next) не обращая внимание на эти проблема.. да вот не знаю стоит ли.

Да и вообще есть вопросы по вводу параметров в окнах.
1) В окне - Specify Inventory directory and credentials
а) в поле Enter the full patch of the inventory directory он предлогает по умолчанию пусть /home/akr/oraInventory
{
Теперь скажу что делал не как в первом посте:
вместо папки /opt везде использовал папку /home
Потому как для папки /home у меня выделен отдельный раздел на диске в 40Гб специально для больших данных, посему хочу установить оракл именно туда.
Под ./ у меня выделен раздел в 15Гб. Хочу чтобы данные базы хранились в /home на большом разделе.
Права естественно тоже давал именно на эту папку.
Так вот если пишу пусть - /home/oracle/oraInventory - то иснатляха говорит что нет прав доступа, и правильно  говорит поскольку запустил я ведь от своего имени akr
}
б) в поле Specify Operation System group name: - предлагает akr. Групп которые мы создавалив списке нету.

2) На вкладке - Specify Home Details
а) В поле  - Path: - предлагает мне /home/akr/oracle/product/10.2.0/db_1
чувствую, что что-то не так.

3) в онке - Privileged Operating System Groups
по умолчания прделагает мне adm в полях:
- Database Administrator (OSDBA) Group
- Database Operator (OSOPER) Group
это нормально? Что сюда стоит вводить и каков здесь смысл?
Вопрос: Что не так и что-куда писать чтобы нормально установить.

Лог установки с дополнительными с небольшими комментариями прилагаю к посту.

Очень прошу уважаемые помогите установить.
Попутно буду писать подробную инструкцию по установке со всеми ниансами с которыми столкнулся. В итоге выложу.
Жизнь это игра для которой нет Tutorial`а

Оффлайн Heroin

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Ого вот это тема,
в 2х словах о своем вопросе, есть сервер БД на оракле, к нему прицепляются виндовые машины оракл клиентом,
можно ли установить оракл клиент на Ubuntu и работать с базами из под линукса?

Оффлайн AKR

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Да можно конечно! Вот даже очень не плохой опенсурс клиент для линукса.
TOra - Toolkit For Oracle - http://tora.sourceforge.net/
Жизнь это игра для которой нет Tutorial`а

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Можно работать даже не устанавливая оракл-клиент )
Торе он нужен, а например Talend прекрасно работает без него.

Не стоит забывать и родной Oracle PL/SQl Developer, есть .deb пакет кстати
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн AKR

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Приветствую друзья. Недавно поднял у себя сервер на Ubuntu 8.04.1 и Oracle Enterprise Edition 10.2.0.1. Девствовал в соответствии с информацией, изложенной в первом посте. Кое-чего та не хватает, кое-чего делал иначе в связи со своими требованиями. В общем, в итоге всё прекрасно заработало.
Посему хочу поделиться информацией с желающими поднять эту махину у себя, дабы не наступали на те камни, что мне попались.

Хочу начать вот с чего.
Выражаю огромную благодарность уважаемому Denzzzo за его неоценимую помощь и проявленное терпение. Спасибо многоуважаемый.


Теперь нюансы.
1) Как я уже отметил, устанавливаю Oracle Enterprise Edition 10.2.0.1 на Ubuntu 8.04.1.
- Достал дистрибутива, запакованный в zip с оффсайта. Это сделать не составляет никаких проблем, благо он в свободном доступе, нужно лишь зарегать там.
- Теперь кое какие изменения. При установке Убубнты я разбил диск следующим образом.
под ./ -  выделен отдельный раздел с запасом около 15 Гб.
под ./home -  выделен специально всё оставшееся место 70Гб (плюс оставил 20 Гб под резервное место, на всяк пожарный).
/home - расположил на отдельном разделе, поскольку там планируется установить оракл и все его данные.

2) Информация о моей системе:
Имя хоста - linux-server;
Имя пользователя - akr;

3) Теперь нюанс касательно пакетов. Методом проб и ошибок выяснилось что. При установке пакетов командой:
sudo apt-get install build-essential libaio rpm lesstif2-dev alienUbuntu не находит пакет libaio а предлагает в замен его пакет libaio1 из своих репов. Что не есть хорошо, более того очень плохо.
возникает это, потому что следую по руководству в первом посте, не было прописано в соурлист офф-репа оракла.
Поэтому нужно делать так:

Отредактируем файл репозитариев apt:
sudo nano /etc/apt/sources.list
Добавим строку
deb http://oss.oracle.com/debian unstable main non-freeСохраняем файл.

Теперь импортируем ключ подписи репозитария
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -

Обновляем apt
sudo apt-get update
Внимание! И только теперь начинает устанавливать пакеты.
sudo apt-get install build-essential libaio rpm lesstif2-dev alien
Эта процедура обязательна как для установке урезанной так и полной версии оракла.

Дальше следуем руководству Denzzzo из первого поста.
ЗЫ: В моём примере немного изменены пути, поскольку как я отметил выше, ставлю другую папку.

Переходим к созданию пользователя oracle и групп, в которых он будет состоять(после первой команды sudo система запросит пароль пользователя,  вводим едем дальше)
akr@linux-server:~$ sudo groupadd oinstall
groupadd: группа oinstall существует
akr@linux-server:~$ sudo groupadd dba
akr@linux-server:~$ sudo groupadd nobody
akr@linux-server:~$ sudo useradd -g oinstall -G dba,nobody -d /home/oracle -s /bin/bash oracle


Назначим пароль пользователю oracle
akr@linux-server:~$ sudo passwd oracle
Введите новый UNIX пароль:
Повторите новый UNIX пароль :
passwd: пароль успешно обновлён

Определимся с базовой директорией oracle, создадим ее и назначим владельцем oracle и группу oinstall
akr@linux-server:~$ sudo mkdir /home/oracle
akr@linux-server:~$ sudo chown -R oracle:oinstall /home/oracle
akr@linux-server:~$ sudo chmod -R 775 /home/oracle

Отредактирум файл .bashrc в домашней директории пользователя oracle
akr@linux-server:~$ sudo nano /home/oracle/.bashrc
и добавим туда следующие переменные окружения
Код:
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10gR2
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin


Пришло время заняться настройками ядра -
akr@linux-server:~$ sudo nano /etc/sysctl.conf
добавим следующие строки
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000


Применяем параметры без перезагрузки (ну, или ребутимся)
akr@linux-server:~$ sudo /sbin/sysctl -p
Правим файл ограничений
akr@linux-server:~$ sudo nano /etc/security/limits.conf

Добавляем строки -
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536


Пришла пора притвориться, что у нас rpm-based система типа RHEL
Создадим символические ссылки, чтобы Oracle находил то, что ищет, там, где ищет
akr@linux-server:~$ sudo ln -s /usr/bin/awk /bin/awk
akr@linux-server:~$ sudo ln -s /usr/bin/rpm /bin/rpm
akr@linux-server:~$ sudo ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
akr@linux-server:~$ sudo ln -s /usr/bin/basename /bin/basename

4) Теперь продолжение.
Варианты возможно есть и другие но предлагаю, и описываю то который использовал я.
Ребутим систему, или выходим из сеанса akr и заходим в систему под пользователем oracle (ЗЫ: пароль мы ему установили выше.)
Я создал папку install в папке /home/oracle там у меня лежит распакованный архив с дистрибутивом скачанного с оффсайта Oracle.

Перейдем каталог с разархивированной установкой Oracle
oracle@linux-server:~$ cd '/home/oracle/Install/database
и запустим инсталлятор
oracle@linux-server:~/Install/database$ ./runInstaller -ignoreSysPrereqs
Дальше следуем шаг за шагом инсталлятору.
Я выбрал:
DBA: orclsrv
SID: orcl

В процессе установке инсталлятор может ругать иногда тут ничего страшного нет(если конечно не сильно матерится) поскольку не совсем он рассчитан на "Debian-based system". (пример ошибки приложен к посту). Жмём - "Continue" и едем дальше.

В конце устаноке исталятор скажет что нужно запустить некоторые скрипты от имени root`а.
Для этого делаем следующее в консоли:
Становимся пользователем с правами на выполнение команды sudo и выполняем требуемые скрипты.
oracle@linux-server:~$ su -l akr
Пароль:
akr@linux-server:~$ sudo ./home/oracle/oraInventory/orainstRoot.sh
akr@linux-server:~$ sudo ./home/oracle/product/10gR2/root.sh

после чего нужно отредактировать файл oratab, который находится в ./etc
делаем следующее в этой же консоли от имени akr.
sudo mcзапустится консольный фаловый менеджер
находим файл ./etc/oratab и правим его

второй вариант, вместо mc
sudo nano ./etc/oratab
в файле oratab редактируем строку
orcl:/home/oracle/product/10gR2:Nна
orcl:/home/oracle/product/10gR2:Yтем самым мы скажем скрипту старта оракла и всех его прибамбасин что необходимо запускать нашу базу с SID`ом "orcl"

теперь можем закрыть эту консоль. Дальше делаем всё от имени пользователя "oracle"

После этого откорректируем сам скрипт стара базы. Для этого нужно поправить файл "dbstart" который находится по пути /home/oracle/product/10gR2/bin dbstart. редактируем любым удобным способом. Например через "проводник" (nautilus) заходим в эту папку и используя стандартный редактор "gedit"

В этом файле по умолчанию не правильный путь к листенеру ORACLE_HOME_LISTNER.
меняем его на следующее:
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=/home/oracle/product/10gR2/

Теперь всё (ЗЫ: хотя не совсем. Можно и желательно конечно настроить автостарт и автостоп оракла при старте выключении компа, но об этом позже, как удастся самому корректно организовать опишу обязательно, как это сделать, информация есть, но пока у меня нормально это сделать не вышло, а не нормально не хочется).

Запоминаем две команды ну или записываем, в какой нить текстовый файл Start-Stop Oracle.txt и кладём его на рабочий стол.
Start-Oracle:
oracle@linux-server:~$ cd /home/oracle/product/10gR2/bin/
oracle@linux-server:~/product/10gR2/bin$ ./dbstart
Processing Database instance "orcl": log file /home/oracle/product/10gR2/startup.log

Stop-Oracle:
oracle@linux-server:~$ cd /home/oracle/product/10gR2/bin/
oracle@linux-server:~/product/10gR2/bin$ ./dbshut


dbstart - стартует оракл
dbshut - его корректно "уложит".

перегружаемся, заходим под юзером oracle и делаем следующее:
oracle@linux-server:~$ cd /home/oracle/product/10gR2/bin/
oracle@linux-server:~/product/10gR2/bin$ ./dbstart

после чего можно коннектиться к БД.
перед выключением сервера желательно запускать команду - dbshut:
oracle@linux-server:~$ cd /home/oracle/product/10gR2/bin/
oracle@linux-server:~/product/10gR2/bin$ ./dbshut

Думаю, ничего не забыл. Если будут вопросы, пишите, помогу, чем смогу.
« Последнее редактирование: 25 Ноября 2008, 15:06:58 от AKR »
Жизнь это игра для которой нет Tutorial`а

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.