Фев 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
  • asmadmin — for asm
  • asmdba — for asm
  • asmoper — for asm

Заведем их:

groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
groupadd -g 1004 asmadmin
groupadd -g 1005 asmdba
groupadd -g 1006 asmoper

useradd -u 1002 -g oinstall -G dba,oper,asmadmin,asmdba,asmoper 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_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORA_CRS_HOME=$ORACLE_BASE/product/11.2.0/grid; export ORA_CRS_HOME

ORACLE_SID=orcl; export ORACLE_SID
ORACLE_UNQNAME=$ORACLE_SID; export ORACLE_UNQNAME
ORACLE_HOSTNAME=test-db02.net.bashtel.ru; export ORACLE_HOSTNAME

ORACLE_TERM=xterm; export ORACLE_TERM
NLS_LANG=american_america.al32utf8; export NLS_LANG

PATH=/usr/local/bin:/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$ORA_CRS_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:$CLASSPATH; 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-адреса.

Подготовка дисков для ASM

Oracle поддерживает ASMlib для RHEL6, только в случае установки ядра Oracle Linux. Установить можно с репозиториев расположенных Oracle Public yum repo.

Но для RHEL6 лучше использовать udev.

В данном случае у меня выделено:

  • /dev/sdc для диска голосования
  • /dev/sdd для диска данных
  • /dev/sde для FRA

Настроим правила udev для новых дисковых групп:

Шаг №1

Каждому блочному устройству SCSI присвоен уникальный идентификатор, который используется как базис для правил устройств udev. Для получения данного идентификатора, запустим следующую команду для каждого блочного устройства SCSI который будет использоваться как часть дисковых групп ASM, предварительно добавив следующую строку в /etc/scsi_id.config:

options=--whitelisted --replace-whitespace

Выведем UUID для каждого устройства:

[root@test-db02 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
36000c2917e8ff81b5e79af0b4957558e
[root@test-db02 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
36000c299cd819b65ed44e6e33a5283d1
[root@test-db02 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sde
36000c298b21f634c8784e1d5f5af8625

Если используется виртуальная машина VMware vSphere, то ничего не выведется. Для получения UUID дисков необходимо выключить сервер, зайти в свойства виртуальной машины (Edit Settings) -> вкладка Options -> раздел General -> Configuration Parameters -> добавить строку disk.EnableUUID — TRUE

Если используется виртуальная машина VMware Workstation, то ничего не выведется. Для получения UUID дисков необходимо выключить сервер, закрыть VMware Workstation, открыть .vmx файл виртуальной машины и добавить: disk.EnableUUID = «TRUE».

Шаг №2

Создадим новое udev правило в /etc/udev/rules.d используя уникальные идентификаторы, полученные на предыдущем шаге. Udev будет использовать этот конфигурационный файл для создания постоянного имени устройства, присвоения корректных прав владения для вашего пользователя и группы оракл в операционной системе и присвоения корректных прав доступа для этого пользователя (rw для блочного устройства или 0660). Создадим новый файл для правил, которые используюся для специфики ASM (например, /etc/udev/rules.d/99-asm.rules). Для

[root@test-db02 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)

он выглядит вот так:

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="36000c2917e8ff81b5e79af0b4957558e", NAME+="oracleasm/disks/DSK-crs01", OWNER="oracle", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="36000c298b21f634c8784e1d5f5af8625", NAME+="oracleasm/disks/DSK-fra01", OWNER="oracle", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="36000c299cd819b65ed44e6e33a5283d1", NAME+="oracleasm/disks/DSK-data01", OWNER="oracle", GROUP="asmadmin", MODE="0660"

Шаг №3

Перезапустите или запустите start_udev и проверьте, что все записи были корректно созданы в /dev/oracleasm/disks:

[root@test-db02 ~]# ls -lha /dev/oracleasm/disks/
итого 0
drwxr-xr-x. 2 root   root       100 Янв 17 17:31 .
drwxr-xr-x. 3 root   root        60 Янв 17 17:31 ..
brw-rw----. 1 oracle asmadmin 8, 32 Янв 17 17:31 DSK-crs01
brw-rw----. 1 oracle asmadmin 8, 48 Янв 17 17:31 DSK-data01
brw-rw----. 1 oracle asmadmin 8, 64 Янв 17 17:31 DSK-fra01

Установка Oracle Grid Infrastructure

В grid/stage/cvu/cv/admin

CV_ASSUME_DISTID=OEL4

на

CV_ASSUME_DISTID=OEL6

Перед запуском установщика, поменяем переменную окружения:

# export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid

rhel6-grid01
rhel6-grid02
rhel6-grid03
rhel6-grid04
rhel6-grid05
rhel6-grid06
rhel6-grid07
rhel6-grid08
rhel6-grid09
rhel6-grid10

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

В database/stage/cvu/cv/admin

CV_ASSUME_DISTID=OEL4

на

CV_ASSUME_DISTID=OEL6

rhel6-withasm01
rhel6-withasm02
rhel6-withasm03
rhel6-withasm04
rhel6-withasm05
rhel6-withasm06
rhel6-withasm07
rhel6-withasm08

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

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

http://www.jobacle.nl/wp-content/uploads/2012/06/rhel_asmlib_to_udev.pdf

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

  One Response to “Установка Oracle Database 11g R2 на Red Hat Enterprise Linux 6 с использованием ASM”

  1. […] Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale Anavar for sale […]

 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)