Admin

15 апр. 2018 г.4 мин.

Install Oracle 11G in the RHEL 6

Пост обновлен 13 нояб. 2021 г.

Есть более быстрый способ настроить ОС Linux для установки СУБД Oracle в последствии, читайте здесь

0. Установить пакет oracle-rdbms-server-11gR2-preinstall-1.0-9.el6.x86_64.rpm

#rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-9.el6.x86_64.rpm

1. Создадим группы пользователей

# groupadd -g 54321 oinstall (уже есть!!!)
 
# groupadd -g 54322 dba (уже есть!!!)
 
# groupadd -g 54324 asmadmin
 
# groupadd -g 54326 asmdba
 
# groupadd -g 54327 asmoper

2. Создадим пользователей и определим их группы
 
# usermod -G asmdba,dba oracle
 
# useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

3. Создадим пароли
 
# passwd oracle
 
# passwd grid

4. Задать правила SELINUX
 
# vim /etc/selinux/config
 
заменим SELINUX=enabled
 
на SELINUX=disabled

5. Задать правила сетевого экрана
 
# vim /etc/sysconfig/iptables
 
закоментируем запрещающие строки и перезапустим
 
# service iptables restart

6. Для упрощения установки списка необходимых пакетов, установить пакет 
 
# rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-9.el6.x86_64.rpm 
 
Данный пакет проводит предварительную настройку ОС, а так же укажет список необходимых пакетов для удволетворения зависимостей

7. Настраиваем 'huge pages' для ORACLE
 
находим размер одной страницы
 
# grep Hugepagesize /proc/meminfo
 
--для случая при размере страницы 2048: для создания набора страниц размером 1GB нам понадобится 512 страниц
 
# echo '# Number of hugepages to use' >> /etc/sysctl.conf
 
# echo vm.nr_hugepages=512 >> /etc/sysctl.conf
 
# echo >> /etc/sysctl.conf
 
# sysctl -p
 
так как статичные 'huge pages' зафиксированы в памяти и не могут быть перенесены в swap пользователям oracle и grid нужны права на использование этой памяти
 
# echo '# hugepages access by oracle user' >> /etc/security/limits.conf
 
# echo 'oracle hard memlock 1048576' >> /etc/security/limits.conf
 
# echo 'oracle soft memlock 1048576' >> /etc/security/limits.conf
 
# echo >> /etc/security/limits.conf
 
# echo '# huge pages access by grid user.' >> /etc/security/limits.conf
 
# echo 'grid hard memlock 1048576' >> /etc/security/limits.conf
 
# echo 'grid soft memlock 1048576' >> /etc/security/limits.conf
 
# echo >> /etc/security/limits.conf

8. Параметры ОС (Проверить!)
 
следующие параметры рекомендованы для контроля частоты обращений к памяти:
 
# echo '# These parameters a recommended to control the rate at which virtual memory is reclaimed' >> /etc/sysctl.conf
 
# echo vm.swappiness=0 >> /etc/sysctl.conf
 
# echo vm.dirty_background_ratio=3 >> /etc/sysctl.conf
 
# echo vm.dirty_ratio=15 >> /etc/sysctl.conf
 
# echo vm.dirty_expire_centisecs=500 >> /etc/sysctl.conf
 
# echo vm.dirty_writeback_centisecs=100 >> /etc/sysctl.conf
 
# echo >> /etc/sysctl.conf
 
# sysctl -p

9. Создадим ограничения оболочки для пользователя grid аналогично ограничениям оболочки пользователя oracle, созданного выбранными при установке пакетами
 
# echo '# grid setting for nofile soft limit is 1024' >> /etc/security/limits.conf
 
# echo 'grid soft nofile 1024' >> /etc/security/limits.conf
 
# echo '# grid setting for nofile hard limit is 65536' >> /etc/security/limits.conf
 
# echo 'grid hard nofile 65536' >> /etc/security/limits.conf
 
# echo '# grid setting for nproc soft limit is 2047' >> /etc/security/limits.conf
 
# echo 'grid soft nproc 2047' >> /etc/security/limits.conf
 
# echo '# grid setting for nproc hard limit is 16384' >> /etc/security/limits.conf
 
# echo 'grid hard nproc 16384' >> /etc/security/limits.conf
 
# echo '# grid setting for stack soft limit is 10240KB' >> /etc/security/limits.conf
 
# echo 'grid soft stack 10240' >> /etc/security/limits.conf
 
# echo '# grid setting for stack hard limit is 32768KB' >> /etc/security/limits.conf
 
# echo 'grid hard stack 32768' >> /etc/security/limits.conf
 
# echo >> /etc/security/limits.conf

10. Оптимизируем параметры ядра для сети
 
# echo '# Additional network parameters' >> /etc/sysctl.conf
 
# echo 'net.ipv4.tcp_wmem = 262144 262144 262144' >> /etc/sysctl.conf
 
# echo 'net.ipv4.tcp_rmem = 4194304 4194304 4194304' >> /etc/sysctl.conf
 
# echo >> /etc/sysctl.conf
 
# sysctl -p

11. добавим в файл /etc/pam.d/login строку
 
# echo 'session required pam_limits.so' >> /etc/pam.d/login

12. Директории 
 
      Oracle Inventory
 
# mkdir -p /u01/app/oraInventory
 
# chown -R grid:oinstall /u01/app/oraInventory
 
# chmod -R 775 /u01/app/oraInventory

Grid Infrastructure Home
 
# mkdir -p /u01/11.2.0/grid
 
# chown -R grid:oinstall /u01/11.2.0/grid
 
# chmod -R 775 /u01/11.2.0/grid

Oracle Base Directory
 
# mkdir -p /u01/app/oracle
 
# mkdir /u01/app/oracle/cfgtoollogs
 
# chown -R oracle:oinstall /u01/app/oracle
 
# chmod -R 775 /u01/app/oracle

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

II. Настрока дисков для ASM
 
# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm

Настраиваем ASMLib
 
# /etc/init.d/oracleasm configure
 
This will configure the on-boot properties of the Oracle ASM library
 
driver. The following questions will determine whether the driver is
 
loaded on boot and what permissions it will have. The current values
 
will be shown in brackets ('[]'). Hitting without typing an
 
answer will keep that current value. Ctrl-C will abort.
 
Default user to own the driver interface []: grid
 
Default group to own the driver interface []: asmadmin
 
Start Oracle ASM library driver on boot (y/n) [n]: y
 
Scan for Oracle ASM disks on boot (y/n) [y]:
 
Writing Oracle ASM library driver configuration: done
 
Initializing the Oracle ASMLib driver: [ OK ]
 
Scanning the system for Oracle ASMLib disks: [ OK ]

Создадим диски для ASM

определим свободное дисковое пространство:
 
# vgdisplay vg_oracleserver
 
— Volume group — VG Name vg_oracleserver
 
System ID 
 
Format lvm2
 
Metadata Areas 1
 
Metadata Sequence No 4
 
VG Access read/write
 
VG Status resizable
 
MAX LV 0
 
Cur LV 3
 
Open LV 3
 
Max PV 0
 
Cur PV 1
 
Act PV 1
 
VG Size 930,38 GiB
 
PE Size 4,00 MiB
 
Total PE 238177
 
Alloc PE / Size 12544 / 49,00 GiB
 
Free PE / Size 225633 / 881,38 GiB
 
VG UUID LvgSW2-ZILO-KOZf-ZwAY-8WBB-9X2u-lzaWuv

размеры дисков определяются индивидуально. Для Redo Logs 80 ГБ, остальное пространство поровну между db files и FRA.
 
# lvcreate -L81,37G -n lvasmredo vg_oracleserver
 
# lvcreate -L400G -n lvasmfra vg_oracleserver
 
# lvcreate -L400G -n lvasmdata vg_oracleserver

Создадим диски ASM
 
# oracleasm createdisk ASMDATA01 /dev/vg_oracleserver/lvasmdata
 
# oracleasm createdisk ASMFRA02 /dev/vg_oracleserver/lvasmfra
 
# oracleasm createdisk ASMREDO02 /dev/vg_oracleserver/lvasmredo

Проверим их
 
# oracleasm listdisks
 
ASMDATA01
 
ASMFRA02
 
ASMREDO02
 
# ls -ltr /dev/oracleasm/disks
 
итого 0
 
brw-rw---- 1 grid asmadmin 252, 7 Ноя 12 06:15 ASMDATA01
 
brw-rw---- 1 grid asmadmin 252, 8 Ноя 12 06:15 ASMFRA02
 
brw-rw---- 1 grid asmadmin 252, 6 Ноя 12 06:16 ASMREDO02
 
# oracleasm-discover ORCL:*
 
Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so
 
[ASM Library — Generic Linux, version 2.0.4 (KABI_V2)]
 
Discovered disk: ORCL:ASMDATA01 [838860800 blocks (429496729600 bytes), maxio 512]
 
Discovered disk: ORCL:ASMFRA02 [838860800 blocks (429496729600 bytes), maxio 512]
 
Discovered disk: ORCL:ASMREDO02 [170647552 blocks (87371546624 bytes), maxio 512]

    690
    0