Можно значительно улучшить и ускорить работу Oracle SQL Developer переключившись на Oracle instant client. Проблема производительности в идущем в комплекте JDBC драйвере. Сам Oracle SQL Developer на сайте производителя
Напишу это второй раз: значительно ускорить SQL Developer! )))
Решение
Скачать instant client для нужной ОС на сайте производителя В моем случае это MacOS (Intel x86). Рекомендую скачать zip и самостоятельно распаковать его в домашний каталог в ~/lib/
Подключение в разделе Preferences -> Databases -> Advanced. Требуется поставить два чекбокса и указать путь до каталога с instant client (в моём случае /Users/sergey/lib). Путь к tnsnames – опционально, я использую.
Иллюстрация для примера:
Нажать тест и проверить что библиотеки найдены
В macOS как обычно свои “особенности”, в окне OSD ошибка:
Testing the Instant Client located at /Users/sergey/lib Testing client directory ... OK Testing loading Oracle JDBC driver ... OK Testing checking Oracle JDBC driver version ... OK Driver version: 19.8.0.0.0 Testing testing native OCI library load ... Failed: Error loading the native OCI library The native OCI driver could not be loaded. The system propertyjava.library.path contains the entries from the environment variable DYLD_LIBRARY_PATH. Check it to verify that the expected native library directory /Users/sergey/lib is present and precedes any other client installations. java.library.path = /Users/sergey/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
1 часть решения.
macOS добавляет всем файлам дополнительные атрибут com.apple.quarantine, посмотреть его можно командой ls -lg@, снять атрибут командой xattr. у меня instantclient и sqlplus скачаны и распакованы в каталог ~/lib/ убрать атрибуты командами:
chmod -R u+w ~/lib/
xattr -r -d -s com.apple.quarantine ~/lib/*
После этого при запуске теста и появлении окна безопасности с предложением переместить в корзину приложение неизвестного разработчика – зайти в настройки “Защита и конфиденциальность” и разрешить запуск.
После этого работает:
После подключения проверяем как подключены:
p.s. зачем это нужно если все работает через jadbc? для работы с blob, xml и эмпирически работа ускоряется, SQL Developer потребляет меньше ресурсов.
Это первая часть статьи. Все ссылки:
Первая часть: https://www.veeltech.ru/performance-oracle-sql-developer-part1
Вторая часть: https://www.veeltech.ru/performance-oracle-sql-developer-part2
Третья часть https://www.veeltech.ru/performance-oracle-sql-developer-part3