База данных Oracle дома

На новой работе мне требуются знания БД Oracle, для того, чтобы немного изучить как это вообще работает, я поставил на домашний сервер Oracle XE, это тот же самый Oracle, только бесплатный и с ограничениями - только 2 ядра процессора, 2 гига оперативы, и база до 12 гиг, но мне этого хватит.

Ставить буду на Debian 10.

Скачать актуальную версию можно тут

Все действия под рутом!

Копируем ссылку на сайте, качаем, конвертируем, устанавливаем...

apt-get install libaio* alien
wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm
mv ./oracle-database-xe-* ./oracle_db.rpm
alien  --scripts ./oracle_db.rpm
dpkg -i ./oracle*.deb

Сперва нужно проверить актуальность своего айпи в файле /etc/hosts

Вероятнее всего нам выдаст ошибку

[FATAL] [DBT-50000] Unable to check for available memory.

Нужно отредактировать файлик /etc/init.d/

nano /etc/init.d/oracle-xe-18c

Находим там строчку Configuring Oracle Database

Ниже в строчке $SU -s /bin/bash найдем $EM_EXPRESS_PORT и после вставим, добавив пробелы до и после

-J-Doracle.assistants.dbca.validate.ConfigurationParams=false

Теперь запустим конфигуратор

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

У нас спросит пароль для системных юзеров базы данных, придумайте пароль, только не забудьте!

База запускается так, только после конфигуратора она должна сама запуститься

/etc/init.d/oracle-xe-18c start

Устанавливаем системные переменные вот так

export ORACLE_SID=XE
export ORAENV_ASK=NO
. /opt/oracle/product/18c/dbhomeXE/bin/oraenv

Проверить что все ок можно так

lsnrctl status

У Оракла есть веб-админка, но по-умолчанию она доступна только с локалхоста, можно расшарить и с других компов

sqlplus system

Вводим пароль, который устанавливали выше, дальше вводим команду

EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

и выходим командой quit

Теперь пробуем открыть (меняем на свой айпи) https://192.168.10.3:5500

Вводим там логин SYSTEM и свой пароль, видим примерно такое

Забавно, но админка требует флеш-плеер, такие дела, но пока мы не особо разбираемся, это пригодится.

Оригинальная инструкция тут

Пока можете потренироваться с запросами в sqlplus, чтобы кодировка нормально отображалась и был русский язык, если у вас локаль UTF

export NLS_LANG=RUSSIAN_CIS.UTF8
поддержка кирилицы в Oracle

По дефолту создается схема XE для юзера system, но мы попробуем создать свою схему, для этого

sqlplus /nolog
SQL> connect sys as sysdba
*** вводим пароль ***
SQL> alter session set "_ORACLE_SCRIPT"=true
SQL> create user Pavlik identified by Pass123;
SQL> GRANT CREATE SESSION, CONNECT, RESOURCE, DBA TO Pavlik;
**это похоже делает вообще все привелегии**
SQL> GRANT ALL PRIVILEGES TO myschema;

Теперь попробуем зацепиться через SQL Developer с десктопа...

Сам SQL Developer портативный, просто распаковал и запускай

Кстати, наш порт нам показывало при конфигурировании на этапе выше...

Попробуем подключиться не к системному, а к новому пользователю, всё ок

Теперь можно и таблички создавать...

Если переключиться на вкладку DDL, то можно увидеть как это делается на SQL запросах

Дальше сами разбирайтесь, гуглите, читайте, для старта все есть.

Показать комментарии