Направление Oracle  
  Установка СУБД Oracle 12c - заметки для RHEL 6.x 64 bit  


Эти материалы являются объектом авторского права и защищены законами РФ и международными соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия лицензионного договора на использование этих материалов, или же вы не имеете права использовать настоящие материалы

Авторская площадка "Наши орбиты" состоит из ряда тематических подразделов, являющихся моими лабораторными дневниками, содержащими записи за разное, иногда продолжительно отличающееся, время. Эти материалы призваны рассказать о прошедшем опыте, они никого ни к чему не призывают и совершенно не обязательно могут быть применимы кем-то ещё. Это только лишь истории о прошлом

Начальные слова

По задумке подобные заметки не заменяют документацию, но дополняют её короткой "намоленной" выжимкой требуемых практически шагов на родном языке, которую специалист может использовать буквально "копипастом" для резкого сокращения времени развёртывания того или иного решения

Подготовка к установке движка СУБД

--- Создание пользователей и групп:
cd /usr/sbin
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba oracle
usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,oper oracle
# или для упрощённой конфигурации - когда владелец ASM и СУБД один - пользователь oracle
usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,oper,asmoper,asmadmin oracle

--- Требования к пакетам

Для установки пакетов необходимо настроить источник, которым может быть сетевой репозитарий или инсталляционный DVD. Для использования DVD можно, например, создать в каталоге /etc/yum.repos.d файл с именем cdrom.repo, указывающий на смонтированный образ

[rh_srv_media]
name=Rhel-$releasever - Media
# ниже полный путь к смонитрованному носителю
baseurl=file:///media/RHEL_6.x_i686_64_DVD/Server
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
prioritet = 1

Установить требуемые пакеты. Т.к. есть двухархитектурные пакеты, ставим так:

yum install binutils compat-libcap1 gcc gcc-c++ ksh make sysstat mc
yum install `yum list | egrep -E "^compat-libstdc\+\+-33\.|^glibc\.|^glibc-devel\.|^libgcc|\
 ^libstdc\+\+\.|^libstdc\+\+-devel\.|^libaio\.|^libaio-devel\.|^libXext\.|^libXts\.|^libX11\.|\
 ^libXau\.|^libxcb\.|^libXi\." | sort | cut -d " " -f 1`
yum install xorg-x11-xauth xorg-x11-utils
-- для ASM также
yum install bind-utils nfs-utils

В зависимости от версии полное имя пакета может отличаться, поэтому сделать универсальную команду нельзя. Попытки как в примере ниже влекут неустановку ряда x686 версий (так не надо делать):

yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh \
libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb \
libXi make sysstat mc

ниже - справочно - перечень пакетов из официальной документации 12.1.0.2

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

--- Требования к параметрам ядра, добавить в /etc/sysctl.conf те параметры, которые ещё не объявлены или имеют меньшие значения, чем приведённый здесь

# semmsl = 250, semmns = 32000, semopm = 100, semmni = 128
kernel.sem = 250 32000 100 128
# 40 percent of physical RAM in pages. Note: If the server
# supports multiple databases, or uses a large SGA, then
# set this parameter to a value that is equal to the total
# amount of shared memory, in 4K pages, that the system can
# use at one time
# for 11g recomendation - physical RAM size / pagesize For
# most systems, this will be the value 2097152. Note 301830.1
# обычно этот параметр уже стоит после установки ОС и
# существено больше минимального рекомендуемого
kernel.shmall = 2097152
# 1/2 RAM in bytes, SN 567506.1 для 4Гб RAM = 2147483648
# реально SHM перемонтируют в ядре на увеличение, здесь учитывать
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.panic_on_oops = 1
fs.file-max  = 6815744
# aio-max-nr - Note: This value limits concurrent outstanding
# requests and should be set to avoid I/O subsystem failures.
fs.aio-max-nr  = 1048576
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 = 1048576

--- Требования к лимитам in /etc/security/limits

# nproc soft минимум 2047, hard минимум 16384
oracle soft nproc 2047
oracle hard nproc 16384
# nofile soft минимум 1024, hard минимум 65536
oracle soft nofile 1024
oracle hard nofile 65536
# stack минимум 10240Кб, максимум 32768Кб
oracle soft stack 10240
oracle hard stack 32768
# lock in memory amount - минимум 90% RAM
# если HugePage, иначе минимум 3 Gb
oracle soft memlock 3145728
oracle hard memlock 3145728

--- Требования к профилю ~/.bash_rc

umask 022
# остальное - если не выставлено
# в /etc/security/limits.conf
# max number open file descriptor
ulimit -Sn 1024
ulimit -Hn 65536
# max number procesess for user
ulimit -Su 2047
ulimit -Hu 16384
# stack size
ulimit -Ss 10240
ulimit -Hs 32768
# lock in memory size
ulimit -Sl 10240
ulimit -Hl 32768

--- Требования к SELinux - самый беспроблемный путь отключить его полностью. В прошлых версиях документации по установке об этом говорилось явно, сейчас заявлена совместимость с SELinux, однако выключенная опция представляется более надёжным выбором. Для отключения SELinux выставить в файле конфигурации /etc/selinux/config параметр SELINUX = disabled, и в /boot/grub.conf добавить в строчку памаметров ядра выражение " selinux=0 "

---Требования к Transparent HugePages (4.15) Из за задержек при выделении памяти рекомендуется отключать. В строке параметров ядра в grub.conf нужно добавить transparent_hugepage=never

--- Только для ASM. Планировщик ввода - вывода для ASM рекомендуется выставлять # echo deadline > /sys/block/${ASM_DISK}/queue/scheduler. Драйвер ядра kmod-oracleasm ставится только из репозитариев REDHAT или Oracle. Драйвера ASMLIB http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html. Поставить пакеты rpm -ivh oracleasm-support-version.arch.rpm oracleasm-kernel-version.arch.rpm oracleasmlib-version.arch.rpm.
/usr/sbin/oracleasm configure -i # указать grid:asmadm y y
/usr/sbin/oracleasm init
/usr/sbin/oracleasm createdisk DISK1 /dev/sdb1

--- Перед установкой очистить переменные [bash:]unset ORACLE_HOME ; unset ORACLE_BASE ; unset ORACLE_SID ; unset TNS_ADMIN

Установка движка СУБД

Если не использовать ASM - без особенностей, смотри статью Oracle. Введение в круг понятий. Установка СУБД и создание БД

Созадние БД

Как самый простой вариант - без особенностей, смотри статью Oracle. Введение в круг понятий. Установка СУБД и создание БД. Более сложным вариантом является использование появившейся в 12 версии мультиарендной архитектуры и контейнерных баз, о чём планируется перевод соответствущей статьи вендора

Доступ через EM Express

В 12 версии DB Console больше нет, вместо неё Enterprise Manager Express edition. Ниже несколько моментов относительно EMExpress

Как определить порт ? nonCDB: select dbms_xdb_config.gethttpsport() from dual;

Как вручную сконфигурировать доступ к EM Express ?

Добавить в init.ora параметры
local_listener=inst1 # inst1 must be in tnsnames.ora
dispatchers="(PROTOCOL=TCP)(SERVICE=XDB)"
Рестартовать БД и отработать команды
-- nonCDB:
exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
-- CDB: xdbconfig.xml SYS / AS SYSDBA:
alter session set container=CDB$ROOT;
exec DBMS_XDB_CONFIG.SETHTTPSPORT(5501);
-- PDB:
alter session set container=PDB1;
exec DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
Проверить старт обработчика:
$ lsnrctl status | grep -i 5502
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hostname.example.com)(PORT=5502)
)(Security=(my_wallet_directory=/$ORACLE_BASE/admin/sid/xdb_wallet))
(Presentation=HTTP)(Session=RAW))

не завершено ...

Белонин С.С. (С), июль 2016 года

(даты последующих модификаций не фиксируются)


 
        
   
    Нравится     

(C) Белонин С.С., 2000-2024. Дата последней модификации страницы:2019-12-04 00:43:28