Установка CarabiDB (Oracle 12c) на CentOS 7
Подготовка ОС
Выполнять из под root
sysctl
cat << EOT >> /etc/sysctl.d/90-oracle.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOT
Применить настройки: sysctl --system
Проверить, применены ли настройки: sysctl -a | grep file-max
security
cat >> /etc/security/limits.d/90-oracle.conf << EOT
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
EOT
security Будет применено для всех новых сессий
актульные адреса к репозиторию
Centos 7 has reached EOL (End of Life) today, 1 July 2024, thus mirrorlist.centos.org is no longer required. In order to install packages, you have to adjust repositories from "mirrorlist" to "baseurl". For most cases vault.centos.org will work well.
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*.repo
sed -i 's|^#\?baseurl=http://mirror\.centos\.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
sed -i 's|^#\?baseurl=http:|baseurl=https:|g' /etc/yum.repos.d/CentOS-*.repo
зависимые пакеты
yum install mc unzip binutils smartmontools sysstat -y
yum install make compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 compat-libcap1 -y
yum install libaio libaio.i686 libaio-devel libaio-devel.i686
libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 xorg-x11-utils xauth -y
yum install unixODBC unixODBC-devel zlib-devel zlib-devel.i686 -y
создание пользователя и групп
groupadd -g 1101 oinstall
groupadd -g 1102 dba
groupadd -g 1103 oper
groupadd -g 1104 backupdba
groupadd -g 1105 dgdba
groupadd -g 1106 kmdba
groupadd -g 1107 asmdba
groupadd -g 1108 asmoper
groupadd -g 1109 asmadmin
useradd -u 1101 -g oinstall -G dba,oper oracle
Заменить mypass на свой пароль для пользователя oracle:
echo "mypass" | passwd oracle --stdin
отключение SELinux
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
setenforce permissive
cat /etc/sysconfig/selinux
настройка firewalld
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload
проверка X11Forwarding в SSH
mcedit /etc/ssh/sshd_config
Убедится, что есть строчка X11Forwarding yes
прописать в hosts
!!!Проверить
echo "127.0.0.1 CarabiDB CarabiDB.loc" >> /etc/hosts
прописать переменные окужения
!!!Проверить (заменить DBNAME на имя базы)
cat << EOT >> /home/oracle/.profile
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=CarabiDB
export ORACLE_UNQNAME=DBNAME
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=\$ORACLE_BASE/12c
export ORACLE_SID=DBNAME
export PATH=/usr/sbin:\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOT
подготовить установщик
Создать директории:
mkdir /home/oracle/orainstall
mkdir /home/oracle/oracle
Скопировать установщик (linuxx64_12201_database.zip) в /home/oracle/orainstall (например, с помощью winscp)
Распаковать и выставить права:
unzip /home/oracle/orainstall/linuxx64_12201_database.zip -d /home/oracle/orainstall
chown -R oracle /home/oracle/orainstall
chown -R oracle /home/oracle/oracle
Удаленная установка из windows
Настройка VcXsrv (Windows X Server) в windows
Скачать и установить с сайта https://sourceforge.net/projects/vcxsrv/ Запустить для ожидание подключения установщика Oracle
Настройка putty в windows
В соединении с базой в Putty включить опцию
- Connection/SSH/X11 -> Enable X11 forwarding
- Сохранить соединение
- Перезагрузить сервер (?)
- Перезайти в SSH
Установка ПО
Зайти в putty под пользователем oracle
cd /home/oracle/orainstall/database
bash ./runInstaller
Если все прошло успешно, появится окно инсталляции на локальной машине. Иначе есть проблемы с X11 Forwarding.
Устанока базы отдельно
Загрузка первоначальной базы
Настройка автозапуска
Замена :N на :Y в oratab:
sed -i 's/\/oracle\/12c:N/\/oracle\/12c:Y/g' /etc/oratab
Добавить сервис в systemd:
cat << EOT >> /etc/systemd/system/oracle-db.service
# Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
# and starts Listener
[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target
[Service]
Type=forking
Restart=no
ExecStart=/oracle/12c/bin/dbstart $ORACLE_HOME
ExecStop=/oracle/12c/bin/dbshut $ORACLE_HOME
User=oracle
[Install]
WantedBy=multi-user.target
EOT
Добавить listener сервис в systemd:
cat << EOT >> /etc/systemd/system/oracle-db-listener.service
[Unit]
Description=Oracle Listener
Requires=network.target
[Service]
Type=forking
Restart=no
ExecStart=/oracle/12c/bin/lsnrctl start
ExecStop=/oracle/12c/bin/lsnrctl stop
User=oracle
[Install]
WantedBy=multi-user.target
EOT
Включить автозапуск:
chown -R oracle /oracle
systemctl enable oracle-db
systemctl enable oracle-db-listener