Установка Oracle SQL Developer на Linux

Установка 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.

Рассматриваются следующие шаги общей установки:

  • Установка JDK
  • Установка и запуск 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.

Leave a Reply

Your email address will not be published. Required fields are marked *