Установка Oracle SQL Developer на Linux
В данном посте рассматривается установка Oracle SQL Developer 19.2.1 на Oracle Linux и подключение с его помощью к Oracle SQL Developer к Oracle Database 18c Express Edition. Oracle SQL Developer это бесплатный графический инструмент, который облегчает задачи разработчика и администратора баз данных. SQL Developer позволяет пользователю просматривать объекты базы данных (таблицы, представления, индексы, процедуры и т.п.), писать, редактировать и выполнять SQL- запросы, манипулировать данными и экспортировать их. Oracle SQL Developer имеет возможность подключаться не только к базам данных Oracle, но и к сторонним базам данных. Например, используя SQL Developer можно подключиться к MS SQL, PostgreSQL, Sybase и т.д. В одном из ближайших постов будет рассмотрено подключение к облачной базе Oracle – Oracle Autonomous Database с использованием SQL Developer.
Рассматриваются следующие шаги общей установки:
Во время первичного запуска установленного SQL Developer система требует указать абсолютный путь к директории установки JDK (Type the full pathname of a JDK installation). Предварительно проверяется, установлена ли на операционной системе JDK и определяется директория установки. Приведенная команда показывает версию установленной JDK:
[root@dushanbe ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
С помощью следующей команды определяется директория установки:
[root@dushanbe ~]# find / -name java /etc/java /etc/pki/ca-trust/extracted/java /etc/pki/java /etc/alternatives/java /var/lib/alternatives/java /usr/bin/java /usr/lib/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java /usr/share/java /usr/share/swig/2.0.10/java /opt/oracle/product/18c/dbhomeXE/jdk/bin/java /opt/oracle/product/18c/dbhomeXE/jdk/jre/bin/java /opt/oracle/product/18c/dbhomeXE/xdk/doc/java [root@dushanbe ~]#
Как видно из результатов выполнения команд, имеется предустановленная OpenJDK версии 1.8.0_131 в директории /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64.
Но OpenJDK не позволяет запустить SQL Developer. При запуске с указанием директории OpenJDK имеет место следующая ошибка:
Oracle SQL Developer Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. Default JDK not found Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /root/.sqldeveloper/19.2.1/product.conf /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 Error: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/bin/java not found or not a valid JDK Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /root/.sqldeveloper/19.2.1/product.conf
Требуется установка JDK. OpenJDK можно как удалить, так и оставить установленным. Наличие OpenJDK не препятствует запуску SQL Developer.
Установка JDK
Если на сервере (или на тестовой виртуальной машине) базы данных нет соединения к интернету, то JDK можно скачать с официального сайта Oracle – https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html и установить локально. Для данного поста загружен RPM пакет 8 версии для Linux ( jdk-8u241-linux-x64.rpm ). Полученный файл копируется на сервер базы данных.
В примере ниже скачанный RPM JDK пакет скопирован в директорию /tmp. Далее с помощью rpm устанавливается JDK.
[root@dushanbe ~]# ls /tmp/jdk* /tmp/jdk-8u241-linux-x64.rpm [root@dushanbe ~]# rpm -ivh /tmp/jdk-8u241-linux-x64.rpm warning: /tmp/jdk-8u241-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing… ################################# [100%] Updating / installing… 1:jdk1.8-2000:1.8.0_241-fcs ################################# [100%] Unpacking JAR files… tools.jar… plugin.jar… javaws.jar… deploy.jar… rt.jar… jsse.jar… charsets.jar… localedata.jar… [root@dushanbe ~]#
Установка JDK успешно завершена. В системе работают OpenJDK и JDK. Если проверить версию, то команда возвращает только данные OpenJDK.
[root@dushanbe ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Используя команду alternatives можно сменить JDK по умолчанию. Ниже выполняется переключение с OpenJDK на JDK.
[root@dushanbe ~]# alternatives --config java There are 2 programs which provide 'java'. Selection Command *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java) 2 /usr/java/jdk1.8.0_241-amd64/jre/bin/java Enter to keep the current selection[+], or type selection number: 2
Далее проверяется версия JDK по умолчанию и директория его установки.
[root@dushanbe ~]# java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) [root@dushanbe ~]# [root@dushanbe ~]# find / -name java /etc/java /etc/pki/ca-trust/extracted/java /etc/pki/java /etc/alternatives/java /var/lib/alternatives/java /usr/bin/java /usr/lib/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java /usr/share/java /usr/share/swig/2.0.10/java /usr/java /usr/java/jdk1.8.0_241-amd64/bin/java /usr/java/jdk1.8.0_241-amd64/jre/bin/java /opt/oracle/product/18c/dbhomeXE/jdk/bin/java /opt/oracle/product/18c/dbhomeXE/jdk/jre/bin/java /opt/oracle/product/18c/dbhomeXE/xdk/doc/java [root@dushanbe ~]#
Как видно из результатов команд, теперь по умолчанию используется JDK версии 1.8.0_241 с директорией установки /usr/java/jdk1.8.0_241-amd64. Можно осуществить установку SQL Developer.
Установка и запуск SQL Developer
SQL Developer скачивается с официального сайта Oracle https://www.oracle.com/tools/downloads/sqldev-downloads.html и устанавливается локально (если отсутствует интернет соединение на сервере базы данных).
В примере ниже RPM пакет SQL Developer версии 19.2.1 загружен с официального сайта и скопирован в директорию /tmp. Запускается установка пакета.
[root@dushanbe ~]# rpm -Uhv /tmp/sqldeveloper-19.2.1.247.2212.noarch.rpm Preparing… ################################# [100%] Updating / installing… 1:sqldeveloper-19.2.1-247.2212 ################################# [100%] [root@dushanbe ~]#
Установка SQL Developer успешно завершена.
Для запуска SQL Developer необходимо перейти в директорию установки ( /opt/sqldeveloper/ ) под пользователем oracle (пользователь операционной системы) и найти исполняемый файл sqldeveloper.sh
[root@dushanbe ~]# su - oracle Last login: Mon Jun 8 22:55:37 +05 2020 on :0 [oracle@dushanbe ~]$ [oracle@dushanbe ~]# cd /opt/sqldeveloper/ [oracle@dushanbe sqldeveloper]# ls configuration dropins equinox icon.png javavm jdev jviews modules rdbms sqldeveloper sqldeveloper.exe sqlj dataminer dvt external ide jdbc jlib module netbeans sleepycat sqldeveloper.desktop sqldeveloper.sh svnkit [oracle@dushanbe sqldeveloper]# ll total 128 drwxr-xr-x. 2 root root 103 Jun 6 16:42 configuration drwxr-xr-x. 4 root root 34 Jun 6 16:42 dataminer drwxr-xr-x. 2 root root 24 Jun 6 16:42 dropins drwxr-xr-x. 3 root root 16 Jun 6 16:42 dvt drwxr-xr-x. 2 root root 60 Jun 6 16:42 equinox drwxr-xr-x. 2 root root 8192 Jun 6 16:42 external -rw-r--r--. 1 root root 1404 Sep 5 2019 icon.png drwxr-xr-x. 9 root root 96 Jun 6 16:42 ide drwxr-xr-x. 3 root root 17 Jun 6 16:42 javavm drwxr-xr-x. 3 root root 17 Jun 6 16:42 jdbc drwxr-xr-x. 6 root root 57 Jun 6 16:42 jdev drwxr-xr-x. 2 root root 4096 Jun 6 16:42 jlib drwxr-xr-x. 2 root root 89 Jun 6 16:43 jviews drwxr-xr-x. 2 root root 60 Jun 6 16:43 module drwxr-xr-x. 17 root root 4096 Jun 6 16:43 modules drwxr-xr-x. 5 root root 50 Jun 6 16:43 netbeans drwxr-xr-x. 3 root root 18 Jun 6 16:43 rdbms drwxr-xr-x. 3 root root 23 Jun 6 16:43 sleepycat drwxr-xr-x. 6 root root 57 Jun 6 16:43 sqldeveloper -rw-r--r--. 1 root root 161 Sep 5 2019 sqldeveloper.desktop -rw-r--r--. 1 root root 90968 Sep 5 2019 sqldeveloper.exe -rwxr-xr-x. 1 root root 71 Sep 5 2019 sqldeveloper.sh drwxr-xr-x. 3 root root 17 Jun 6 16:43 sqlj drwxr-xr-x. 3 root root 4096 Jun 6 16:43 svnkit [oracle@dushanbe sqldeveloper]#
Запускается SQL Developer ( ./sqldeveloper.sh). При первом запуске система потребует указать абсолютный путь к директории установки JDK (Type the full pathname of a JDK installation). Указывается /usr/java/jdk1.8.0_241-amd64 и инициируется процесс начального запуска SQL Developer для работы.
[oracle@dushanbe sqldeveloper]# ./sqldeveloper.sh
Во время первой загрузки SQL Developer система запускает модальное окно «Confirm Import Preferences». При необходимости импортировать настройки из предыдущей установки SQL Developer используется значок Поиска и указывается предварительно экспортированный файл настроек. В противном случае нажимается «Нет» и система продолжит запуск SQL Developer.
Появление следующего окна (см. скриншот ниже) свидетельствует об успешном запуске SQL Developer и готовности его к работе. При первом запуске предлагается следующая опция «Allow automated usage reporting to Oracle». Выбор опции осуществляется установкой или снятием галочки. Выбранная опция никак не влияет на работу SQL Developer.
Для создания нового подключения к конкретной базе данных нажимается зеленый значок + в левом верхнем углу
и вводятся необходимые параметры подключения.
В данном примере подключение осуществляется к Oracle Database 18c Express Edition (Container Database) со следующими параметрами подключения:
Name: XE_18c
Указывается имя соединения, которое позволяет однозначно идентифицировать базу данных при подключении.
IP: 192.168.0.1
IP адрес сервера БД
Port: 1539
Порт подключения к БД.
SID: xe
SID БД
Username: sys
Указывается имя пользователя для подключения к БД.
Role: SYSDBA
Подключение к БД осуществляется пользователем sys. Данный пользователь может подключиться только с ролью SYSDBA.
Password:
Пароль sys, который был назначен во время установки базы данных
Подключение к Container Database прошло успешно. В левой части окна под именем подключения можно в списке просмотреть объекты (Tables, Views, Indexes и т.д.) и их настройки. В правой части окна указан sql запрос для получения имени и состояния инстанции.
Кроме запуска из консоли, в дальнейшем SQL Developer можно запускать из графического меню Applications -> Programming -> SQL Developer.