понедельник, 9 мая 2011 г.

Установка Oracle 11g R2 на Ubuntu 11.04 (desktop) - Часть 1

Небольшое HowTo по установке Oracle 11g на Ubuntu 11.04

1. Устанавливаем необходимые пакеты:

sudo apt-get install alien cpp debhelper g++ gawk gcc gettext html2text intltool-debian lesstif2 ksh libdb4.8 libelf-dev libelf1 libltdl7 libltdl-dev libmotif4 libodbcinstq1c2 libqt4-core libqt4-gui librpm1 libsqlite3-0 libstdc++6 lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 odbcinst pax po-debconf rpm sysstat unixodbc unixodbc-dev


2. Если не установлен ssh сервер - установите его.

sudo apt-get install openssh-server

3. Установите libstdc++5 и настройте необходимые связи для библиотек

wget http://launchpadlibrarian.net/64711817/libstdc%2B%2B5_3.3.6-21ubuntu1_i386.deb

dpkg -i  libstdc++5_3.3.6-21ubuntu1_i386.deb

ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
ln -s /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/libgcc_s.so /lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
ln -s /lib/libgcc_s.so /lib/libgcc_s.so.1

4. Добавьте пользователя oracle и группы для обслуживания базы данных

addgroup --system oinstall
addgroup --system dba
useradd -r -g oinstall -G dba -m -s /bin/bash oracle
passwd oracle

5.Отредактируйте параметры ядра в файле /etc/systcl.conf Должно быть так:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144


6. Отредактируйте /etc/security/limits.conf Выставьте следующие ограничения

oracle          soft    nproc           2047
oracle          hard    nproc           16384
oracle          soft    nofile          1024
oracle          hard    nofile          65536

7. Проверьте, что в файле /etc/pam.d/login раскомментирована строка (добавьте, если ее нет):

session    required     /lib/security/pam_limits.so

8. Проверьте, что в файле /etc/pam.d/su раскомментирована строка (добавьте, если ее нет):

session    required   pam_limits.so

9.  Добавьте следующую запись в /etc/profile

if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

10. Выполните следующие команды:

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc /etc/rc.d
echo 'Red Hat Linux release 4' > /etc/redhat-release

11. Отредактируйте файл $HOME/.profile у пользователя oracle. Добавьте следующие строки:

umask 022

export ORACLE_BASE=/usr/local/home/oracle/base
export ORACLE_HOME=$ORACLE_BASE/product/11gR2/db
export ORACLE_SID=orcl
unset TNS_ADMIN

if [ -d "$ORACLE_HOME/bin" ]; then
    PATH="$ORACLE_HOME/bin:$PATH"
fi

12. Перегружаем операционную систему.

13. Следующие действия производим от пользоваетеля oracle. Можно или залогинится данным пользователем в X или использовать (SSH-X forwarding - для чего нужен был пункт 2)

ssh -X -l oracle 127.0.0.1

14. Разархивируем дистрибутив и запускаем инсталлятор:

mkdir tmp
cd tmp
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
cd database
./runInstaller

15. Далее пошагавая инсталляция здесь.

8 комментариев:

  1. Please help!!!
    sudo echo 'Red Hat Linux release 4' > /etc/redhat-release
    bash: /etc/redhat-release: Permission denied

    ОтветитьУдалить
  2. Try this:

    echo 'Red Hat Linux release 4' > /tmp/redhat-release
    sudo cp /tmp/redhat-release /etc/redhat-release

    or this:

    sudo -s
    echo 'Red Hat Linux release 4' > /etc/redhat-release

    ОтветитьУдалить
  3. При выполнении п.1. выдает ошибку при поиске/загрузке пакета lesstifcrypt7.
    Можно ли его пропустить? За что он отвечает? Где его найти? и как установить?
    Заранее спасибо.

    ОтветитьУдалить
  4. san futurist: поскольку устанавливал в мае, то уже естественно и не вспомню зачем этот пакет нужен был. главное, что описание этого пакета в инете найти не могу. хотя копипастил насколько помню из командной строки.

    Разумеется вы можете не ставить пакеты которые найти не можете - заодно потом и узнаем какой я пакет на самом деле хотел написать. :)

    ОтветитьУдалить
  5. Как была ошибка до, такая же и осталась.
    oracle@PaPC:~/database$ ./runInstaller
    /home/oracle/database/install/.oui: 2: Syntax error: ")" unexpected

    lesstifcrypt7 не нашёл.

    ibstdc++5 установил через синаптик, т.к. у меня амд64

    Вместо i386-linux-gnu писал x86_64-linux-gnu, так как только такая папка есть.
    Всё остальное сделал так как нужно.
    Что не так делаю?

    ОтветитьУдалить
  6. Pavlin: Я на amd64 не устанавливал, Но первая ссылка в гугл дает возможный ответ:

    It seems you use 64bit installation on 32bit OS or vice verse

    ОтветитьУдалить
  7. Устанавливаю на ubuntu amd64 и все же есть ошибка ./runInstaller
    /home/oracle/database/install/.oui: 2: Syntax error: ")" unexpected

    ОтветитьУдалить