Фев 142013
 

В данной статье описана устанока Oracle Database 11.2.0.3 на RHEL6 с использованием файловой системы.

Конфигурация системы, требуемая Oracle Universal Installer

Установка пакетов

 

Необходимо установить следующие пакеты:

  • binutils-2.17.50.0.6
  • compat-libstdc++-33-3.2.3
  • compat-libstdc++-33-3.2.3 (32 bit)
  • elfutils-libelf-0.125
  • elfutils-libelf-devel-0.125
  • gcc-4.1.2
  • gcc-c++-4.1.2
  • glibc-2.5-24
  • glibc-2.5-24 (32 bit)
  • glibc-common-2.5
  • glibc-devel-2.5
  • glibc-devel-2.5 (32 bit)
  • glibc-headers-2.5
  • ksh-20060214
  • libaio-0.3.106
  • libaio-0.3.106 (32 bit)
  • libaio-devel-0.3.106
  • libaio-devel-0.3.106 (32 bit)
  • libgcc-4.1.2
  • libgcc-4.1.2 (32 bit)
  • libstdc++-4.1.2
  • libstdc++-4.1.2 (32 bit)
  • libstdc++-devel 4.1.2
  • make-3.81
  • sysstat-7.0.2
  • compat-libcap1

Сделаем это с помощью yum:

# yum install binutils.x86_64 compat-db.x86_64 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64 elfutils-libelf.i386 elfutils-libelf.x86_64 gcc-c++.x86_64 gcc.x86_64 gdbm.x86_64 glibc-devel.i386 glibc-devel.x86_64 glibc-headers.x86_64 glibc.i686 glibc.x86_64 ksh.x86_64 libaio-devel.i386 libaio-devel.x86_64 libaio.i386 libaio.x86_64 libstdc++.i386 libstdc++.x86_64 make.x86_64  sysstat.x86_64 unixODBC.i386 unixODBC.x86_64 xorg-x11-utils.x86_64 unixODBC-devel elfutils-libelf-devel compat-libcap1.x86_64

Пользователи и группы

Oracle Database 11g Release 2 имеет хорошо распределенные роли для жизненного цикла приложения, например:

  • software installer
  • Oracle application owner(s)
  • database administrator
  • database operator (backups)
  • system administrator (root)

Даже если в этих ролях нет необходимости на данный момент, их необходимо создать сейчас. Так как в данной установке мы не будем использовать ASM, тогда группы будут такими:

  • oinstall — software inventory
  • dba — database
  • oper — database

Заведем их:

groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper

useradd -u 1002 -g oinstall -G dba,oper oracle
passwd oracle

Во время обычной работы аккаунт oracle запускает много процессов, открывает большое количество файлов и требует больше ресурсов, чем обычный пользователь. В то же время, пределы (hard limits) на аккаунте предотвратит в некоторых случаях зависание процессов (resource starvation). Конфигурация PAM по умолчанию (в /etc/pam.d/system-auth) загружает модули (session required pam_limits.so) которые устанавливают и приводят в действие эти пределы.

Как пользователь root добавим следующие строчки в /etc/security/limits.conf:

# What: oracle database: increase resources available to oracle account
# When: 08.11.2012
# Who: Denis V Vodopyanov
oracle - nproc 16384
oracle - nofile 65536
oracle soft stack 10240

Добавим в /home/oracle/.bash_profile:

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=DB11G; export ORACLE_SID
ORACLE_UNQNAME=$ORACLE_SID; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_HOSTNAME=oel5-11gr2.localdomain; export ORACLE_HOSTNAME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

Расположение файловой системы

Следуя Oracle’s long-standing file-system conventions, создадим локальную фаловую систему монтированную в /u01 (рекомендую размером в 40 GB) для Oracle inventory and software. «База» для установки приложений Оракл будет /u01/app/oracle. Под пользователем root создадим дерево каталогов и защитим его:

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

Настройка NTP демона

Поправим в /etc/sysconfig/ntpd:

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

Поставим ntpd в автозапуск:

# chkconfig ntpd on

Виртуальная память

Добавим в /etc/sysctl.conf для RHEL ниже 6.4:

# What: oracle database: tune shared memory size
# When: 08.11.2012
# Who: Denis V Vodopyanov
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 15
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

Добавим в /etc/sysctl.conf для RHEL от 6.4:

# What: oracle database: tune shared memory size
# When: 08.11.2012
# Who: Denis V Vodopyanov
vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 15
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

Общая память

Для опеределения максимума общей памяти (параметр ядра shmall) в элементах размера страницы памяти для данной 64-битной операционной системы выполним одну команду и посчитаем. В первую очередь получим размер страницы в операционной системе:

[root@test-db06 ~]# getconf PAGE_SIZE ## page size in bytes
4096

Максимальный размер общего сегмена (shmmax) должен равняться половине общего объема памяти.

Оракл рекомендует установить максимальное количество сегментов общей памяти (shmmni) равным 4096.

8 GB RAM

В случае 8 GB оперативной памяти, посчитаем shmall разделив 8 GB на размер страницы:

8*1024*1024*1024/4096 = 2097152

Посчитаем максимальный размер общего сегмента shmmax:

8*1024*1024*1024/2 = 4294967296

Добавим в /etc/sysctl.conf следующие параметры:

# What: oracle database: tune shared memory size
# When: 08.11.2012
# Who: Denis V Vodopyanov
#### NOTE: the values of shmall and shmmax are proportional to the
#### amount of server RAM, and must be adjusted accordingly.
##
## The following values are for 8 GB of RAM
kernel.shmall = 2097152
kernel.shmmax = 4294967296
# do not scale this parameter with RAM
kernel.shmmni = 4096

196 GB RAM

В случае 196 GB оперативной памяти, посчитаем shmall разделив 196 GB на размер страницы:

196*1024*1024*1024/4096 = 51380224

Посчитаем максимальный размер общего сегмента shmmax:

196*1024*1024*1024/2 = 105226698752

Добавим в /etc/sysctl.conf следующие параметры:

# What: oracle database: tune shared memory size
# When: 08.11.2012
# Who: Denis V Vodopyanov
#### NOTE: the values of shmall and shmmax are proportional to the
#### amount of server RAM, and must be adjusted accordingly.
##
## The following values are for 8 GB of RAM
kernel.shmall = 51380224
kernel.shmmax = 105226698752
# do not scale this parameter with RAM
kernel.shmmni = 4096

Семафоры

Линукс предоставляет семафоры для обмена небольшого количества информации между процессами. Семафоры это числа-счетчики или on/off значения, которые организуются в группы. СУБД Оракл необходимо больше групп, больше комнат в каждой группе и больше счетчиков, чем предоставляется операционной системой по умолчанию.

Добавим следующие строчки в /etc/sysctl.conf для предоставления Ораклу необходимого количества ресурсов семафоров:

# What: oracle database: increase no. system-wide semaphore arrays, etc.
# When: 08.11.2012
# Who: Denis V Vodopyanov
kernel.sem = 250 32000 100 128

Переходящие сетевые порты

Добавим следующие строчки в /etc/sysctl.conf для модификации диапазона ip портов для автоматического назначения клиентам исходящих портов:

# What: oracle database: increase autonomous client-side IP port range
# When: 08.11.2012
# Who: Denis V Vodopyanov
net.ipv4.ip_local_port_range = 9000 65500

Оптимизация сетевых настроек (TCP/IP)

Red Hat Enterprise Linux 6.3 автоматически настраивает размер буферов сокетов TCP/IP и сокетов приложений. Системным администраторам нет необходимости подгонять их для высокой производительности.

Однако, Оракл и Oracle Universal Installer рекомендуют установить постоянные размеры для буфера максимального и по умолчанию для сокетов приложений в Database 11g Release 2. Их рекомендованные значения разумная точка для начала. Добавим следующие строки в /etc/sysctl.conf для модификации настроек этих буферов:

# What: oracle database: increase application socket buffers
# When: 08.11.2012
# Who: Denis V Vodopyanov
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Различная системная конфигурация

Вам может понадобиться увеличить следующие конфигурационные параметры если они слишком малы:

Максимальное количество открытых файлов. Оракл рекомендует 6815744 как минимум. Проверьте значение на вашей системе. Добавьте «fs.file-max = 6815744» в /etc/sysctl.conf если текущее значение меньше этого.
Максимальное количество конкурентных ассинхронных запросов ввода/вывода. Оракл рекомендует увеличить это значение до 1048576. Если необходимо добавьте «fs.aio-max-nr = 1048576» в /etc/sysctl.conf

Добавим в /etc/hosts или DNS соответствие hostname, FQDN и ip-адреса.

Установка Oracle Database 11g Release 2 на Standalone Server

В database/stage/cvu/cv/admin

CV_ASSUME_DISTID=OEL4

на

CV_ASSUME_DISTID=OEL6

rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
rhel6-withoutasm01
В конце установки необходимо выполнить под пользователем root следующие скрипты:

  • /u01/app/oraInventory/orainstRoot.sh
  • /u01/app/oracle/product/11.2.0/db_1/root.sh

 

rhel6-withoutasm01

Документация

https://access.redhat.com/knowledge/sites/default/files/attachments/oracle_11gr2_on_rhel6_0.pdf

Requirements for Installing Oracle 11gR2 RDBMS on RHEL6 or OL6 64-bit (x86-64) [Metalink ID 1441282.1]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)