Хотя Oracle официально не поддерживает установку своей СУБД на Debian Linux, установка возможна, и ниже по тексту описан процесс установки Oracle 11g R2 на Debian Lenny.
Начнем с начала, установим зависимости. Для их установки должны быть активированы contrib и non-free репозитории.
root@localhost:~$ apt-get install gcc make binutils libmotif3 lesstif2 rpm elfutils \
libelf1 libelfg0 libelfg0-dev glibc-source libaio1 libaio-dev libstdc++6-4.1-dev sysstat \
numactl libdb4.6 gawk x11-utils
Делаем Debian немного RHEL:
root@localhost:~$ ln -s /usr/bin/awk /bin/awk
root@localhost:~$ ln -s /usr/bin/rpm /bin/rpm
root@localhost:~$ ln -s /usr/bin/basename /bin/basename
Создаем пользователя из-под которого будет работать СУБД:
root@localhost:~$ groupadd dba
root@localhost:~$ useradd -g dba -s /bin/bash -d /home/oracle oracle
root@localhost:~$ mkdir /home/oracle
root@localhost:~$ chown oracle:dba /home/oracle
root@localhost:~$ passwd oracle
Настраиваем параметры ядра (для сервера с 1 Гб ОЗУ), добавим в /etc/sysctl.conf:
vm.swappiness=0
vm.dirty_background_ratio=3
vm.dirty_ratio=15
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
vm.min_free_kbytes=1024
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.shmall=262144
kernel.sem=250 32000 100 142
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
net.ipv4.tcp_rmem=4096 262144 4194304
net.ipv4.tcp_wmem=4096 262144 262144
net.ipv4.ip_local_port_range=1024 65000
fs.file-max = 6553600
Применим эти параметры:
root@localhost:~$ sysctl -p
Настроим ограничения ОС, добавив в /etc/security/limits.conf следующие строки:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
После этого убеждаемся, что использование pam_limits.so не закомментировано в конфигах:
- /etc/pam.d/su
- /etc/pam.d/login
- /etc/pam.d/sshd
Скачиваем дистрибутив с edelivery.oracle.com, загружаем на сервер и распаковываем.
Далее настраиваем переменные окружения пользователя oracle и устанавливаем СУБД, предварительно переключившись под интересующего нас пользователя:
root@localhost:~$ su - oracle
Создаем .profile пользователя с близким содержанием:
ORACLE_BASE=/u00/app/oracle
ORACLE_HOME=/u00/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=test
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH PATH
Впоследствии, инсталлятору нужно будет указать эти же значения. Так как инсталлятор у данной СУБД графический, а иксы на серверах встречаются редко, экспортируем адрес удаленного X-сервера, например 192.168.0.2:
root@localhost:~$ export DISPLAY=192.168.0.2:0.0
После этого запускаем инсталлятор (из распакованного дистрибутива):
root@localhost:~$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 80 MB.
Actual 4184 MB Passed
Checking swap space: must be greater than 150 MB.
Actual 2000 MB Passed
Checking monitor: must be configured to display at least 256 colors.
Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-10-07_07-58-56PM.
Please wait ...
Скриншоты этапов установки:
Если вы дошли до 11-го слайда — СУБД Oracle установлена :)
А теперь делаем так, чтобы наша БД запускалась месте со стартом системы и корректно останавливалась при перезагрузке, для этого создадим скрипт /etc/init.d/oracle:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u00/app/oracle/product/11.2.0/dbhome_1"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
root@localhost:~$ chmod +x /etc/init.d/oracle
root@localhost:~$ update-rc.d oracle defaults
Редактируем /etc/oratab:
test:/u00/app/oracle/product/11.2.0/dbhome_1:Y
Вот и все, теперь можно заняться настройкой и наполнение БД.
16 комментариев “Установка Oracle 11g R2 на Debian Lenny”
Посмотрел в логе в папе /oraInventory/log/ пишет что процесс идет, Попробую удалить заново поставить может сам ПК завис.
Но непонятно почему он не запускается под root или sudo (под sudo пишет oracle is not in the sudoers file. this incindent will be reported)
Мне кажется что что-то с правами не так??
Потому что прикладное ПО не должно работать от суперпользователя, и это Oracle сделали правильно
Здравствуйте!!!
Столкнулся с проблемой на 11 шаге установщика при создании «Linking RMAN Utility» прошло около 3-х часов не какой реакции, запуск был произведен под пользователем oracle, под root’ ом запустить не получилось: пишит что данный пользователь не может установить данное приложение.
P.S. У меня стоит Ubuntu 10.10 64-бит!
А в логе инсталлера при этом что?
Если ты имеешь ввиду вот эти файлы, то ты дал не ту ссылку
ссылка (http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html)
Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
linux.x64_11gR2_database_1of2.zip (1,239,269,270 bytes) (cksum — 3152418844)
linux.x64_11gR2_database_2of2.zip (1,111,416,131 bytes) (cksum — 3669256139)
Я вообще ссылок на конкретный файл не давал. Они точно так же доступны через edelivery как и все продукты Oracle.
Скачал я его через Windows. Возникла проблема в следующем !Архив та ЗАПАРОЛЕН! и кода они не дают
(имя архива computeImageMaker_11.2.2.1.0_LINUX.X64_100929-1.x86_64.tar.zip)
Чего-то ты не то скачал, и архива 2 должно быть, и версия у офф дистриба 11.2.0.1.0
Консольные браузеры не проходят прося javascript (Сервак удаленный), я так понял без Х-в не поставить
Можно же использовать Х-сервер на локальной машине, ровно так же как и при установке Oracle.
Здравствуйте!
Есть проблема с сайтом edelivery.oracle.com (сервак консольный Ubuntu 10) имеет прямой выход в инет. Для скачивания требуется авторизация!!!
Подскажи что можно сделать????
Если сервер не удаленный — проще скачать на компе с иксами и залить на сервер. Если удаленный — можно запустить там firefox на удаленном X-сервере, ибо с консольными браузерами edelivery работать не хочет.
OpenVZ чтоли? Если нет доступа к гипервизору забейте. Эти параметры из класса «performance tuning» Oracle, жить и без них можно.
Спасибо!!
Возникла еще одна проблема на шаге (Настраиваем параметры ядра (для сервера с 1 Гб ОЗУ), добавим в /etc/sysctl.conf:).
root@v139:~# sudo sysctl -p
error: permission denied on key ‘vm.swappiness’
error: permission denied on key ‘vm.dirty_background_ratio’
error: permission denied on key ‘vm.dirty_ratio’
error: permission denied on key ‘vm.dirty_expire_centisecs’
error: permission denied on key ‘vm.dirty_writeback_centisecs’
error: permission denied on key ‘vm.min_free_kbytes’
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 262144
kernel.sem = 250 32000 100 142
error: permission denied on key ‘net.core.rmem_default’
error: permission denied on key ‘net.core.wmem_default’
error: permission denied on key ‘net.core.rmem_max’
error: permission denied on key ‘net.core.wmem_max’
error: permission denied on key ‘net.ipv4.tcp_rmem’
error: permission denied on key ‘net.ipv4.tcp_wmem’
error: permission denied on key ‘net.ipv4.ip_local_port_range’
error: permission denied on key ‘fs.file-max’
Привет!!! пожалуйста укажи ссылки репозиторий contrib и non-free из sources.list
не удается выполнить первый команду для (Начнем с начала, установим зависимости. Для их установки должны быть активированы contrib и non-free репозитории)
Как-то вот так: