Инсталляция бесплатной, но ограниченной по ресурсам, базы данных Oracle 18c XE на сервер Centos 7


Делаю:
05.03.2020


Для centos 8 репозиториев с нужными пакетами пока нет. Поэтому пока буду использовать centos 7


Дистрибутивы базы данных:
https://www.oracle.com/database/technologies/xe-downloads.html

Поднять чистую виртуальную машину, предлагаю с помощью vagrant скрипта

Инсталляция Vargant в Ubuntu 20.04.1


// Также потребуется доп. плагин
$ vagrant plugin install vagrant-hostmanager


$ mkdir ~/vagrant-oracle-xe-centos7 && cd ~/vagrant-oracle-xe-centos7
$ git clone https://bitbucket.org/oracle-dba/vagrant-centos7.git .
$ cd centos7/


$ vagrant up
$ vagrant ssh


Работа в подготовленной для базе данных виртуальной машине

$ sudo su -

// Отключаем selinux
# sed -i.bkp -e "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config


// Отключаем firewall
# systemctl disable firewalld
# systemctl stop firewalld


// Подключаем репозиторий с нужными пакетами
# vi /etc/yum.repos.d/oracleLinuxRepoINTERNET.repo


[OEL_INTERNET]
name=Oracle Enterprise Linux $releasever - $basearch
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7
gpgcheck=1
enabled=1


# yum update -y


# yum install -y wget


# mkdir /distrib
# cd /distrib/

# wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm


// Проверка скачанного архива. Первый раз контрольная сумма не совпала
# sha256sum oracle-database-xe-18c-1.0-1.x86_64.rpm

# yum -y localinstall oracle-database-xe-18c-1.0-1.x86_64.rpm

# /etc/init.d/oracle-xe-18c configure


Автоматический подъем базы после перезагрузки


$ vi /etc/oratab


XE:/opt/oracle/product/18c/dbhomeXE:N

заменить на

# XE:/opt/oracle/product/18c/dbhomeXE:N
XE:/opt/oracle/product/18c/dbhomeXE:Y


Инсталляция rlwrap

rlwrap - пакет, который позволяет хранить историю команд в SQL*PLUS и RMAN в Linux (его необходимо прописывать отдельной строкой в bash профиле). Установив данный пакет, вы сможете использовать кнопки вверх, вниз для просмотра истории введенных команд, правильную работу команды backspace и др.

# yum install -y \
readline-devel.x86_64


# yum install -y git
# cd /tmp
# git clone --depth=1 https://github.com/hanslub42/rlwrap

# cd rlwrap/


# yum install gcc
# yum install -y automake
# autoreconf --install
# automake  --add-missing
# ./configure
# make && make check && make install


Работа с базой

// Переключиться на своего пользователя
# su - vagrant


// Установливаем переменные окружения
$ vi ~/.bash_profile


(Добавить после строчки) # User specific environment and startup programs


############################################
#### Oracle Parameters

    umask 022

    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/18c/dbhomeXE
    export ORACLE_SID=XE
    export ORACLE_UNQNAME=XE
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    export NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"

    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

	alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman'

############################################
// Применить переменные окружения к текущим настройкам bash
$ source ~/.bash_profile


// Подключаюсь учетной записью system и паролем manager
$ sqlplus system/manager

SQL> select status from v$instance;

SQL> select name from v$pdbs;

NAME
--------------------------------------------------------------------------------
PDB$SEED
XEPDB1

SQL> conn sys/manager@//localhost:1521/XEPDB1 as sysdba
Connected.


// Подключение к базе утилитой RMAN
$ rman target sys/manager


Возможно, будет полезно:
https://www.youtube.com/watch?v=XB1ZakqiTa8


Долго обсуждали в чате проблему с запуском базы скриптом:
https://dba.stackexchange.com/questions/318523/database-alters-mount-mode-after-reboot/318623#318623