Sql Developer Mac Os Java



  • SQL Developer stores user-related information in several places, with the specific location depending on the operating system and certain environment specifications. User-related information includes user-defined reports, user-defined snippets, SQL Worksheet history, code templates, and SQL Developer user preferences.
  • Mar 23, 2020 You will get this error when Oracle SQL Developer is started with a Java version other then 8 or 11 and/or not being the official Oracle Java version. Currently I am running Mac OS 10.15.3 Catalina.

RADIUS authentication in SQL Developer on MacOS

SQL Developer는 사용에 제약이 없는 무료 툴입니다. Java를 기반으로 개발되었기 때문에 Oracle SQL Developer를 설치하기 위해서는 java 8 이상이 설치되어 있어야 합니다. 이 문서는 Mac OS X를 기준으로 화면을 정리했습니다. If that doesn't suit you, our users have ranked 25 alternatives to PL/SQL Developer and 16 are available for Mac so hopefully you can find a suitable replacement. Other interesting Mac alternatives to PL/SQL Developer are DataGrip (Paid), Oracle SQL Developer (Free), SQuirreL SQL (Free, Open Source) and Toad for Oracle (Paid).

24 Feb 2017 →

There’s an updated, simpler version of this post that you’ll want to use for current versions of SQL Developer.

Sql Developer Mac Os JavaMac

This post will walk you through configuring SQL Developer to perform RADIUS authentication on MacOS.I periodically need to do this to connect to databases that require multi-factor authentication (MFA) and Istruggle with it every time. More than anything, this is just yet another entry in my Oracle Survival Guide to helpfuture-me waste less time. Hopefully it helps others too!

A note on versions

Version matters here. While SQL Developer will let you point to anyinstant client you like, it’ll secretly be expecting a specific version that dependson which version of SQL Developer you’re using. If you don’t point it to that exactversion of Instant Client, things won’t work—and it won’t be clear why.

As of the writing of this post, the latest versions areSQL Developer 4.2.0andInstant Client 12.1.0.2. That’s what I’ll use in this guide.

Download these resources directly from Oracle. The Homebrew packages available strip out the .jar files whichconfuses SQL Developer.

1. Install instantclient

Download instantclient 12.1.0.2 from Oracle.You’ll only need the basic package. Unzip this package and place it in an accessible location.I install my instant client in ~/lib/instantclient_12_1. You can install yourswherever you like.

Oracle delivers this library to you in a broken state. Your instantclient contains a dynamic library called libclntsh.dylib.12.1,but every bit of software you’ll want to use will be looking for libclntsh.dylib.cd into your instantclient directory and ln -s libclntsh.dylib.12.1 libclntsh.dylib to un-broken it.

2. sqlnet.ora

The OCI driver properties can be configured via a special file called sqlnet.ora. The propertywe’re interested in is SQLNET.AUTHENTICATION_SERVICES.

Sql Developer Mac Os Java 8

Create a sqlnet.ora file and place it in a directory you’ll reference later as TNS_ADMIN. Make sure sqlnet.ora file has an entry for radius:

3. Mangle the java.library.path property

Modern MacOSes—version 10.11 (El Capitan) and newer—have a feature called System Integrity Protection (SIP)which ignores the DYLD_LIBRARY_PATH environment variable. This is how the instantclient pathis typically revealed to SQL Developer. SQL Developer still looks at this environment variable even though wecan no longer use it. It’s simply not an option for setting this path.

Instead we can clobber the java.library.path via a not-so-invasive configuration file, ~/.sqldeveloper/4.2.0/sqldeveloper.conf.Create this file and set java.library.path to your instantclient path:

4. Set the TNS_ADMIN path for GUI applications

You must set the TNS_ADMIN environment variable to make this work. Note that this needs to be set inthe GUI environment via launchctl—simply setting the environment variablein a terminal will not work. Unfortunately, values set via launchctl don’t persist between sessions(if you logout or restart, the value is lost).

In order to set this value upon start, create a ~/Library/LaunchAgents/oracle.plistfile that looks like this (replace the path with your own):

Sql Developer Mac Os JavaDeveloper

Sql Developer Mac Os Java Install

Note that TNS_ADMIN should point to a directory—not a file.

You’ll need to logout or restart for this change to become active.

4. Configure SQL Developer to use OCI

Now, fire up SQL Developer. Navigate to Oracle SQL Developer > Preferences and choose Database > Advanced:

Check the Use Oracle Client and Use OCI/Thick driver checkboxes.

Then, click Configure and enter the location of your instantclient:

Don’t worry about clicking the Test button here. Its output is not useful (failures here do not necessarilyindicate a broken configuration). Even when everything is working this test fails—ignore it.

5. Verify

In SQL Developer, go to Oracle SQL Developer > About Oracle SQL Developer. Click on the Properties taband search for the sqldeveloper.oci.available property. If the value is true, everything is set up correctly.You should now be able to authenticate using RADIUS!

References

Download Sql On Mac

Please enable JavaScript to view the comments powered by Disqus.comments powered by Disqus
Written by: ilmarkerm
Category: Blog entry
Published: Sql Developer Java Error

Jan Karremans just today published a similar article about Mac and Instant client, but the goal of my blog post is to get SQL Developer connected through Instant Client.

JDK

First you need Java installed, I installed 64-bit JDK8, but it would be better to install 64-bit JDK7, since SQL Developer 4.0 is not supported on JDK8.

SQL Developer

When I’m writing this, SQL Developer 4.1 is in Early Adopter release and 4.0 is in production. I installed SQL Developer 4.0.3.

Oracle Instant Client

There is another reason to choose SQL Developer 4.0 over 4.1 – 4.1 requires version 12.1 of the Oracle Client and that is not yet released for MacOS. SQL Developer 4.0 requires Oracle Client 11.2.0.3 and that is available for MacOS. I downloaded Instant Client 11.2.0.3 (64-bit – since I installed 64-bit JDK): instantclient-basic-macos.x64-11.2.0.3.0.zip and instantclient-sqlplus-macos.x64-11.2.0.3.0.zip to be precise. I unzipped both these files under /opt so my Instant Client installation directory is /opt/instantclient_11_2. After unzipping, Instant Client installation instructions require creating the following symlinks:

Configuring SQL Developer

Open SQL Developer, open Preferences and go to Database > Advanced. Configure Oracle Client paths and check Use Oracle Client and Use OCI/Thick driver boxes. Here is the sample screenshot from my settings.
When you press the Configure button to set the Oracle client path, there is also a button to Test if the Client was loaded correctly. Currently this test should fail.

Setting the environment variables

We need to set two environment variables: DYLD_LIBRARY_PATH to make sure applications can find and load the instant client libraries and TNS_ADMIN so instant client could find sqlnet.ora and tnsnames.ora files. In my case sqlnet.ora is essential, since I need to use Radius authentication.

First I added these environment variables to ~/.profile:

After restarting terminal and verifying that these environment variables are indeed set, execute SQL Developer app directly from terminal by executing open /Applications/SQLDeveloper.app/.

Open preferences and press the Oracle Client Test button again, now the test should succeed and SQL Developer is connected through Instant Client.
All good! Great success! Guess again… Close SQL Developer and launch it from Docker/Launchpad and you will see the Oracle Client test failing again. This is because the environment variables under ~/.profile or ~/.bash_profile are loaded only inside Terminal.

Setting environment variables on login

This seems to be the most complex part of this story since it seems to change with every MacOS release. The method that is working for me under Yosemite (and in no way am I declaring that it is the best method, I am a Mac newbie after all), is this:

Open application Script Editor and paste the following AppleScript there:

Yes, it is also necessary to set TNS_ADMIN, since setting the TNS admin directory path under SQL Developer preferences does not work if you need to use specific settings in sqlnet.ora, for example authentication.

Microsoft Sql Developer Download

Save the script and in the save dialog set File format: Application. And finally System settings -> Users & Groups -> Login items press + sign and select the application you just saved. Now, log out from MacOS and log back in. Now SQL Developer should work with Instant Client even when you launch it from Launchpad.

I got this method from a Stackoverflow thread.