Admin
15 апр. 2018 г.4 мин.
Пост обновлен 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]