Установка Oracle Database 18c Express Edition на Oracle Linux
В данном посте описывается установка Oracle Database 18c Express Edition (XE) на операционную систему Oracle Linux 7. В примере рассматривается установка на Oracle Linux 7.4. Процесс установки с небольшими оговорками актуален для всех версий ОС Linux на базе RHEL (подробнее – ниже).
Будут рассмотрены следующие шаги:
- Подготовка к установке
- Установка Oracle Database 18c XE
- Подключение к базе данных
1. Подготовка к установке
1.1. Проверяется, соответствует ли используемая операционная система минимальным требованиям для установки и работы Oracle Database 18c XE. Допустимы следующие версии и дистрибутивы Linux на базе RHEL:
- Oracle Linux 7.5 with the Unbreakable Enterprise Kernel 5
Oracle Linux 7.2 with the Unbreakable Enterprise Kernel 4
Oracle Linux 7 with the Unbreakable Enterprise Kernel 3
Oracle Linux 7 with the Red Hat Compatible kernel: 3.10.0-123.el7.x86_64 or later - Red Hat Enterprise Linux 7: 3.10.0-123.el7.x86_64 or later
- Oracle Linux 6.4 with the Unbreakable Enterprise Kernel 2
Oracle Linux 6.6 with the Unbreakable Enterprise Kernel 3
Oracle Linux 6.8 with the Unbreakable Enterprise Kernel 4
Oracle Linux 6.4 with the Red Hat Compatible kernel: 2.6.32-358.el6.x86_64 or later - Red Hat Enterprise Linux 6.4: 2.6.32-358.el6.x86_64 or later
- SUSE Linux Enterprise Server 12 SP1: 3.12.49-11.1 or later
Для установки требуется минимум 1 Гб оперативной памяти (рекомендуется 2 Гб), минимум 10 Гб дискового пространства для ПО Oracle, 2 Гб дискового пространства для хранения временных файлов и обладание правами администратора.
1.2. Если системные требования соответствуют, то скачивается установочный файл. Oracle Database 18c Express Edition распространяется бесплатно и установочный файл можно скачать с официального сайта Oracle – https://www.oracle.com/database/technologies/xe-downloads.html
Для скачивания на портале Oracle необходимо наличие учетной записи с паролем. При ее отсутствии осуществляется регистрация новой учетной записи.
Пройдя по ссылке, выбирается версия Oracle Database 18c XE для вашей операционной системы (ОС): Oracle Database 18c Express Edition for Linux x64. Запускается скачивание rpm пакета (oracle-database-xe-18c-1.0-1.x86_64.rpm). Время скачивания может быть достаточно большим. Объем пакета около 2,3 Гб.
1.3. Скачивается пакет Oracle Database Preinstall RPM, предназначенный для создания необходимых пользователей, групп в ОС (например, пользователя oracle и группу oinstall), добавления системных параметров и файлов, необходимых для установки и работы базы данных (БД) Oracle. Если используется Oracle Linux, то данный пакет устанавливается командой под учетной записью root. Если используется RedHat, SUSE, либо отсутствует соединение с интернетом на Oracle Linux, то можно скачать сам rpm пакет по ссылке: https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
После скачивания пакет устанавливается командой:
yum localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
или
rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
Далее используется вторая команда:
[root@dushanbe tmp]# pwd /tmp [root@dushanbe tmp]# ls -l oracle* -rw-rw-rw-. 1 rustam rustam 18244 May 30 00:45 oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm [root@dushanbe tmp]# [root@dushanbe tmp]# rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm warning: oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY error: Failed dependencies: ksh is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64 libaio-devel is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64 [root@dushanbe tmp]#
В рассматриваемом случае система требует предварительно установить два зависимых (дополнительных) пакета: ksh и libaio-level. В зависимости от текущих настроек операционной системы возможны требования установки и других зависимых (дополнительных) пакетов. Требуемые пакеты должны быть установлены. Если не настроен доступ к интернету, то пакеты можно найти в папке примонтированного образа (диска или образа, с которого была установлена ОС) – /run/media/<username>. Для этого, например, если используется VirtualBox, то надо в меню «Устройства виртуальной машины» перейти в раздел «Оптические диски» и указать ISO образ вашей операционной системы. Другим вариантом является создание своего репозитория на виртуальной машине и далее можно установить все пакеты из своего репозитория. Ниже устанавливаются зависимые два пакета на операционную систему из примонтированного образа.
[root@dushanbe OL-7.4 Server.x86_64]# cd /run/media/rustam/OL-7.4\ Server.x86_64/ [root@dushanbe OL-7.4 Server.x86_64]# pwd /run/media/rustam/OL-7.4 Server.x86_64 [root@dushanbe OL-7.4 Server.x86_64]# ls addons images RELEASE-NOTES-U4-en RPM-GPG-KEY-oracle EFI isolinux RELEASE-NOTES-U4-en.html TRANS.TBL EULA LiveOS repodata GPL Packages RPM-GPG-KEY [root@dushanbe OL-7.4 Server.x86_64]# cd Packages/
В папке Packages определяются необходимые файлы и устанавливаются командой rpm -ivh.
[root@dushanbe Packages]# ls -l ksh* -rw-rw-r--. 1 rustam rustam 903808 May 26 2017 ksh-20120801-34.el7.x86_64.rpm [root@dushanbe Packages]# [root@dushanbe Packages]# rpm -ivh ksh-20120801-34.el7.x86_64.rpm warning: ksh-20120801-34.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing… ################################# [100%] Updating / installing… 1:ksh-20120801-34.el7 ################################# [100%] [root@dushanbe Packages]# [root@dushanbe Packages]# ls -l libaio-dev* -rw-rw-r--. 1 rustam rustam 12672 Oct 1 2015 libaio-devel-0.3.109-13.el7.i686.rpm -rw-rw-r--. 1 rustam rustam 12624 Oct 1 2015 libaio-devel-0.3.109-13.el7.x86_64.rpm [root@dushanbe Packages]# [root@dushanbe Packages]# rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm warning: libaio-devel-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing… ################################# [100%] Updating / installing… 1:libaio-devel-0.3.109-13.el7 ################################# [100%] [root@dushanbe Packages]#
Теперь устанавливается preinstall пакет еще раз.
[root@dushanbe Packages]# rpm -ivh /tmp/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm warning: /tmp/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing… ################################ [100%] Updating / installing… 1:oracle-database-preinstall-18c-1.################################ [100%] [root@dushanbe Packages]#
Как видно, установка пакета успешно завершена и добавлены системные файлы для конфигурации настроек Oracle Database 18с XE. Все значения оставляются по умолчанию, но при необходимости их можно изменять.
[root@dushanbe Packages]# rpm -qa | grep oracle-database-preinstall-18c oracle-database-preinstall-18c-1.0-1.el7.x86_64 [root@dushanbe Packages]# rpm -ql oracle-database-preinstall-18c-1.0-1.el7.x86_64 /etc/rc.d/init.d/oracle-database-preinstall-18c-firstboot /etc/security/limits.d/oracle-database-preinstall-18c.conf /etc/sysconfig/oracle-database-preinstall-18c /etc/sysconfig/oracle-database-preinstall-18c/oracle-database-preinstall-18c-verify /etc/sysconfig/oracle-database-preinstall-18c/oracle-database-preinstall-18c.param /usr/bin/oracle-database-preinstall-18c-verify /var/log/oracle-database-preinstall-18c /var/log/oracle-database-preinstall-18c/results [root@dushanbe Packages]#
2. Установка Oracle Database 18c Express Edition
2.1. Запускается ранее скачанный rpm пакет. Предварительно проверяется доступность более 1 Гб оперативной памяти. Проверить объем оперативной памяти можно командой free -h. Обычно, указав при создании виртуальной машины 1 Гб ОЗУ, на выходе не всегда получаем 1 гигабайт оперативной памяти в ОС. Для этого рекомендуется указывать объем оперативной памяти виртуальной машины с небольшим запасом (например, 1.4 Гб). Иначе возможна, например, следующая ошибка:
[SEVERE] Oracle Database 18c Express Edition requires a minimum of 1GB of physical memory (RAM). This system has 991 MB of RAM and does not meet minimum requirements.
Запускается установка БД:
[root@dushanbe Packages]# ls -l /tmp/oracle-data* -rw-rw-rw-. 1 rustam rustam 18244 May 30 00:45 /tmp/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm -rw-rw-rw-. 1 rustam rustam 2574155124 May 30 01:10 /tmp/oracle-database-xe-18c-1.0-1.x86_64.rpm [root@dushanbe Packages]# [root@dushanbe Packages]# rpm -ivh /tmp/oracle-database-xe-18c-1.0-1.x86_64.rpm warning: /tmp/oracle-database-xe-18c-1.0-1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing… ################################# [100%] Updating / installing… 1:oracle-database-xe-18c-1.0-1 ################################# [100%] [INFO] Executing post installation scripts… [INFO] Oracle home installed successfully and ready to be configured. To configure Oracle Database XE, optionally modify the parameters in '/etc/sysconfig/oracle-xe-18c.conf' and then execute '/etc/init.d/oracle-xe-18c configure' as root. [root@dushanbe Packages]#
Установка успешно завершена и система выдает сообщение: [INFO] Oracle home installed successfully and ready to be configured.
Лог файлы установок можно найти в файлах /var/log/oracle-database-preinstall-18c и /var/log/oracle-database-xe-18c. В них можно удостовериться, что никаких ошибок не произошло. Изменить некоторые параметры можно в файле /etc/sysconfig/oracle-xe-18c.conf.
[root@dushanbe Packages]# cat /etc/sysconfig/oracle-xe-18c.conf #This is a configuration file to setup the Oracle Database. #It is used when running '/etc/init.d/oracle-xe-18c configure'. # LISTENER PORT used Database listener, Leave empty for automatic port assignment LISTENER_PORT= # EM_EXPRESS_PORT Oracle EM Express URL port EM_EXPRESS_PORT=5500 # Character set of the database CHARSET=AL32UTF8 # Database file directory # If not specified, database files are stored under Oracle base/oradata DBFILE_DEST= # SKIP Validations, memory, space SKIP_VALIDATIONS=false [root@dushanbe Packages]#
Во избежание ошибок, необходимо удостовериться, что hostname операционной системы прописан в файлах /etc/hosts и /etc/hostname. Иначе получите следующее сообщение при настройке:
[Fatal] [DBT-06103] The port (5500) is already in use express edition 18c
Рекомендуется настроить сетевые параметры и сделать сетевой интерфейс автозапускаемым после перезагрузки операционной системы. В данном посте описывается настройка сети в Oracle Linux.
Для настройки паролей и завершения установки нужно запустить команду /etc/init.d/oracle-xe-18c configure
[root@dushanbe Packages]# /etc/init.d/oracle-xe-18c configure Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts: Confirm the password: Configuring Oracle Listener. Listener configuration succeeded. Configuring Oracle Database XE. Enter SYS user password: ******** Enter SYSTEM user password: ******** Enter PDBADMIN User Password: ******** Prepare for db operation 7% complete Copying database files 29% complete Creating and starting Oracle instance 30% complete 31% complete 34% complete 38% complete 41% complete 43% complete Completing Database Creation 47% complete 50% complete Creating Pluggable Databases 54% complete 71% complete Executing Post Configuration Actions 93% complete Running Custom Scripts 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/XE. Database Information: Global Database Name:XE System Identifier(SID):XE Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details. Connect to Oracle Database using one of the connect strings: Pluggable database: dushanbe.localdomain:1539/XEPDB1 Multitenant container database: dushanbe.localdomain:1539 Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE [root@dushanbe Packages]#
Установка БД успешно завершена. В конце установки описываются способы подключения к Pluggable и Container Databases, а также к Oracle Enterprise Manager for Oracle Database XE:
Connect to Oracle Database using one of the connect strings:
Pluggable database: dushanbe.localdomain:1539/XEPDB1
Multitenant container database: dushanbe.localdomain:1539
Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE
2.2. Теперь под пользователем oracle ОС в папке /home/oracle надо настроить файл .bash_profile, добавив переменные ORACLE_HOME, ORACLE_SID и путь $ORACLE_HOME/bin в разделе PATH. Назначается пароль пользователю oracle и работа в операционной системе производится под этим пользователем.
[root@dushanbe ~]# passwd oracle Changing password for user oracle. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@dushanbe ~]# [root@dushanbe ~]# su - oracle Last login: Sat May 30 09:53:48 +05 2020 on pts/0 [oracle@dushanbe ~]$
В домашней директории пользователя oracle (/home/oracle) ищется скрытый файл .bash_profile.
[oracle@dushanbe ~]$ ls -al total 24 drwx------. 6 oracle oinstall 4096 May 30 11:24 . drwxr-xr-x. 4 root root 34 May 30 01:05 .. -rw-------. 1 oracle oinstall 41 May 30 11:24 .bash_history -rw-r--r--. 1 oracle oinstall 18 May 26 2017 .bash_logout -rw-r--r--. 1 oracle oinstall 283 May 30 11:18 .bash_profile -rw-r--r--. 1 oracle oinstall 231 May 26 2017 .bashrc drwxr-xr-x. 3 oracle oinstall 18 May 30 11:19 .cache drwxr-xr-x. 3 oracle oinstall 18 May 30 11:19 .config -rw-r--r--. 1 oracle oinstall 172 May 26 2017 .kshrc drwxr-xr-x. 4 oracle oinstall 39 May 29 23:58 .mozilla drwxrwx---. 2 oracle oinstall 40 May 30 01:22 .oracle_jre_usage
Далее файл открывается с помощью nano (или vi) и добавляются переменные ORACLE_HOME, ORACLE_SID и путь $ORACLE_HOME/bin в разделе PATH.
[oracle@dushanbe ~]$ nano .bash_profile .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE export ORACLE_SID=XE PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin export PATH
Изменения сохраняются и осуществляется повторный вход в систему под пользователем oracle.
[root@dushanbe ~]# su - oracle
3. Подключение к БД
После установки необходимо произвести подключение к БД, что позволит проверить работоспособность Oracle Database 18c XE. Для подключения к БД (multitenant container database) под пользователем SYS с помощью SQLPlus, необходимо запустить следующую команду sqlplus sys@XE as sysdba.
[oracle@dushanbe ~]$ sqlplus sys@XE as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Sat May 30 11:20:05 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 SQL> select status from v$instance; STATUS ------------ OPEN SQL> select instance_name from v$instance; INSTANCE_NAME ------------ XE SQL>
Выполняется запрос выборки данных из Container Database. Данный запрос показывает имеющиеся pluggable databases (PDB).
SQL> select name from v$pdbs; NAME -------------------- PDB$SEED XEPDB1 SQL>
Перезагрузка операционной системы показывает, что listener и база данных не доступны, так как не настроен автоматический запуск этих служб (см. ниже).
[oracle@dushanbe ~]$ lsnrctl status LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 30-MAY-2020 11:31:19 Copyright (c) 1991, 2018, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dushanbe)(PORT=1539))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused [oracle@dushanbe ~]$ [oracle@dushanbe ~]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Sat May 30 11:32:02 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to an idle instance. SQL>
Чтобы БД (инстанция) и listener запускались автоматически после включения или перезапуска ОС, выполняются следующие две команды под пользователем root:
[root@dushanbe ~]# systemctl start oracle-xe-18c [root@dushanbe ~]# systemctl enable oracle-xe-18c oracle-xe-18c.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig oracle-xe-18c on [root@dushanbe ~]#
Перезагружаем операционную систему. Как видно ниже, listener и база данных стартовали автоматически.
[oracle@dushanbe ~]$ lsnrctl status LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 30-MAY-2020 11:41:32 Copyright (c) 1991, 2018, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dushanbe)(PORT=1539))) STATUS of the LISTENER Alias LISTENER Version TNSLSNR for Linux: Version 18.0.0.0.0 -Production Start Date 30-MAY-2020 11:39:51 Uptime 0 days 0 hr. 1 min. 41 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service XE Listener Parameter File /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/dushanbe/listener/alert/log.xml Listening Endpoints Summary… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dushanbe)(PORT=1539))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully [oracle@dushanbe ~]$ [oracle@dushanbe ~]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Sat May 30 11:43:07 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 SQL>
На этом установка и базовые настройки Oracle Database 18c Express Edition на Oracle Linux завершены. Container database и Pluggable database готовы к работе. В последующих постах будут рассмотрены подключение к Pluggable database и работа с ней.
4 thoughts on “Установка Oracle Database 18c Express Edition на Oracle Linux”
Не подскажите, а sqlplus должен изначально стоять? Столкнулся с проблемой: дистрибутив Linux Oracle. Дошёл до подключения к БД и команда не найдена… ОК, скачал oracle instantclient basic… И тут ошибка взаимосвязей… oracle-database-xe-18c конфликтует с oracle-instantclient-basic-21.1.0.0.0-1.x86_64
в Windows после установки Oracle DBXE18c сразу sqlplus работал….
Добрый день.
Спасибо за Ваш вопрос.
Утилита SQLPlus всегда доступна после успешной установки Oracle Database 18c Express Edition. Подключение к БД с помощью SQLPlus под какой учетной записью ОС выполняется (oracle или root)?
Подскажите как запустить tomcat после oracle ?
Добрый день!
Спасибо за Ваш вопрос.
Вам Apache Tomcat нужен для настройки ORDS? Если да, то есть два варианта установки ORDS:
1. Автономный (standalone) режим.
2. На сервере приложений (Oracle WebLogic Server, Apache Tomcat).
В этом посте подробно описан процесс установки и настройки ORDS в автономном режиме (standalone). К сожалению, пока не подготовил пост для второго варианта (на сервере приложений – Apache Tomcat).