На новой работе мне требуются знания БД 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
По дефолту создается схема 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 запросах
Дальше сами разбирайтесь, гуглите, читайте, для старта все есть.