В этой статье описаны шаги установки Oracle 11gR2 на несертифицированную самой Oracle операционную систему, но являющуюся, по сути, обычной Red Hat, которая сертифицирована Oracle.
Я работаю под bash, соответственно, всё будет производится без учёта специфики других шелов.
groupadd oinstall groupadd dba useradd -m -d /home/oracle -G oinstall,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 compat-libstdc++-33 -y yum install elfutils-libelf-devel -y yum install sysstat -y yum install unixODBC unixODBC-devel -y yum install pdksh -y yum install libaio-devel -y yum install libstdc++-devel gcc-c++ -y
Этот пункт выполняется от имени пользователя "oracle
"
Получить дистрибутив можно отсюда http://www.oracle.com/technology/software/products/database/index.html.
Я положил его в ~/distrib
. После получения я создал каталог, в который распаковал архив:
unzip -d ~/oracle/ ~/distrib/linux_11gR2_database_1of2.zip unzip -d ~/oracle/ ~/distrib/linux_11gR2_database_2of2.zip
Мне оказалось достаточным добавить нижеприведённое. У вас может быть по другому, сверьтесь с документацией.
/etc/sysctl.conf:
cat >> /etc/sysctl.conf << EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 EOF
После редактирования нужно применить эти значения:
sysctl -p
/etc/security/limits.conf:
cat >> /etc/security/limits.conf << EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 EOF
Я планирую поставить ещё и 10g, поэтому каталог назван с указанием версии БД:
mkdir -p /opt/oracle/11g/product chown -R oracle:oinstall /opt/oracle/11g/product chmod 755 /opt/oracle/11g/product mkdir -p /opt/oracle/11g/oradata chown -R oracle:oinstall /opt/oracle/11g/oradata chmod 755 /opt/oracle/11g/oradata chown -R oracle:oinstall /opt/oracle/11g chmod 755 /opt/oracle/11g mkdir -p /opt/oracle/11g/flash_recovery_area chown -R oracle:oinstall /opt/oracle/11g/flash_recovery_area chmod 755 /opt/oracle/11g/flash_recovery_area mkdir -p /opt/oracle/oraInventory chown -R oracle:oinstall /opt/oracle/oraInventory chmod 755 /opt/oracle/oraInventory 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/11g export ORACLE_SID=ORA11G
Сбрасываем значения переменных (если присутствуют):
unset ORACLE_HOME unset TNS_ADMIN
Так как CentOS не сертифицирован Oracle для использования в качестве ОС для своих БД, запускаем установку без проверки системных требований:
~/oracle/database/runInstaller -ignoreSysPrereqs
далее - по подсказкам установщика и собственным нуждам.
Если Oracle что-то не устроит, он об этом напишет на шаге проверки требований окружения (Product - Specific Prerequisite Checks)
Если ваша машина получает ip-адрес по DHCP, можно просто выставить флажок на пункте проверки сетевого окружения и нажать кнопку Retry. База будет работать.
Добавим переменные окружения в профиль, для того, чтобы не выставлять их постоянно вручную. Для этого редактируем ~/.bash_profile
путём добавления в него:
ORACLE_SID=ORA11G ORACLE_HOME=/opt/oracle/11g/product/11.2.0/dbhome_1 export ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
и редактирования PATH:
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
Вот, собственно, и всё.
Если возникнут вопросы, на Главной есть e-mail. Пишите, попробую ответить.