В этой статье описаны шаги установки Oracle 10g на несертифицированную самой Oracle операционную систему, но являющуюся, по сути, обычной Red Hat, которая сертифицирована Oracle.
Я работаю под bash, соответственно, всё будет производится без учёта специфики других шелов.
groupadd oinstall groupadd dba useradd -m -d /home/oracle -g oinstall -G dba -s `which bash` oracle passwd oracle
Если вы планируете использовать RALUS (Remote Agent for Linux and UNIX Servers) от Veritas Backup Exec (возможно, ещё кому-то понадобится) для резервирования данных, нужно ещё выполнить нижеследующее:
groupadd oper useradd -a -G oper oracle
Устанавливаем пакеты, которые необходимы для установки Oracle. Мне понадобилось доставить:
yum install gcc -y yum install libXp -y
заодно делаем и симлинк:
ln -s /usr/lib/libstdc++.so.6.0.8 /usr/lib/libstdc++.so.5
Этот пункт выполняется от имени пользователя "oracle"
Получить дистрибутив можно отсюда http://www.oracle.com/technology/software/products/database/index.html.
Я положил его в ~/distrib. После получения я создал каталог, в который распаковал архив:
unzip -d ~/oracle/ ~/distrib/10201_database_linux32.zip
Мне оказалось достаточным добавить нижеприведённое. У вас может быть по другому, сверьтесь с документацией.
/etc/sysctl.conf:
kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144
После редактирования нужно применить эти значения:
sysctl -p
/etc/security/limits.conf:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Я планирую поставить ещё и 11g, поэтому каталог назван с указанием версии БД:
!!! выполнять под пользователем root !!!
mkdir -p /opt/oracle/10g/oraInventory chown -R oracle:oinstall /opt/oracle/10g/oraInventory chmod 755 /opt/oracle/10g/oraInventory mkdir -p /opt/oracle/10g/oracle chown -R oracle:oinstall /opt/oracle/10g/oracle chmod 755 /opt/oracle/10g/oracle mkdir -p /opt/oracle/10g/oradata chown -R oracle:oinstall /opt/oracle/10g/oradata chmod 755 /opt/oracle/10g/oradata mkdir -p /opt/oracle/10g/flash_recovery_area chown -R oracle:oinstall /opt/oracle/10g/flash_recovery_area chmod 755 /opt/oracle/10g/flash_recovery_area mkdir -p /opt/oracle/tmp chmod a+wr /opt/oracle/tmp
Переключаемся в пользователя:
su - oracle
и редактируем файл ~/.bash_profile добавив в него:
umask 022
и применяем для текущей сессии, выполнив в консоли:
umask 022
Объявляем переменные:
export TEMP=/opt/oracle/tmp export TMPDIR=/opt/oracle/tmp export ORACLE_BASE=/opt/oracle/10g export ORACLE_SID=ORA10G
Сбрасываем значения переменных (если присутствуют):
unset ORACLE_HOME unset TNS_ADMIN
Так как CentOS не сертифицирован Oracle для использования в качестве ОС для своих БД, запускаем установку без проверки системных требований:
~/oracle/database/runInstaller -ignoreSysPrereqs
далее - по подсказкам установщика и собственным нуждам.
Если Oracle что-то не устроит, он об этом напишет на шаге проверки требований окружения (Product - Specific Prerequisite Checks)
Если ваша машина получает ip-адрес по DHCP, можно просто выставить флажок на пункте проверки сетевого окружения и нажать кнопку Retry. База будет работать.
Добавим переменные окружения в профиль, для того, чтобы не выставлять их постоянно вручную. Для этого редактируем ~/.bash_profile путём добавления в него:
ORACLE_BASE=/opt/oracle/10g ORACLE_SID=ORA10G ORACLE_HOME=/opt/oracle/10g/oracle/product/10.2.0/db_1 export ORACLE_BASE ORACLE_HOME ORACLE_SID export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
и редактирования PATH:
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
Вот, собственно, и всё.
Если возникнут вопросы, на Главной есть e-mail. Пишите, попробую ответить.