SQL Developer 4.1 is easy to set up and use, so there is very little setup required to follow the code examples for learning SQL and PL/SQL. The best way to learn is by practice, and for that you'll need a computer with access to an Oracle database and SQL Developer. This article, and indeed the rest of the blog, is written with the assumption that you have a computer with Microsoft Windows, Linux, or Mac OS X installed, and that you have access to an Oracle database. It focuses on the alternative installations available for SQL Developer, where to find the product, and how to install it. Once your environment is set up, you can follow a quick product walk-through to familiarize yourself with the landscape. You'll create a few connections, touch on the various areas available (such as the SQL Worksheet and Reports navigator), and learn about the control of the windows and general product layout.
Preparing your environment for SQL Developer
Preparing your environment depends on a few factors, including the platform you are working on and whether you have an earlier edition of SQL Developer previously installed. First, you need to locate the software, download it, and install it.
Finding and downloading the software
SQL Developer 4.1 is available through a variety of sources both as a standalone download and as part of the Oracle Database and Oracle JDeveloper installations.
SQL Developer is a free product, and you can download it from the Oracle Technology Network.
Here's the downloading link.
Use this link to visit the page that will allow you to download the latest standalone production release. It also includes details of the release and is regularly updated with news of preview releases and new articles. While SQL Developer is free to download and use, you are required to read and agree to the license before you can proceed with the download. The product also falls under Oracle Support contracts; if you have a Support contract for the database, then you can log in to Oracle Support tickets.
Downloading and installing the Java Development Kit
SQL Developer 4.1 requires the Java SE Development Kit 8 (JDK8) or later. This includes the Java Runtime Environment (JRE) and other tools, which are used by SQL Developer utilities such as the PL/SL Debugger.
For Microsoft Windows, you can download and install SQL Developer with the JDK already installed. This means that you'll download and unzip the product and will be ready to start, as there are no extra steps required. For other operating systems, you'll need to download the JDK and direct SQL Developer to the path yourself. Indeed, as many other products require a JDK to be installed, you may already have one in your system. In this case, just direct the product to use an existing JDK installation. For Microsoft Windows, ensure that you download SQL Developer without the JDK to make use of an existing JDK installation.
The SQL Developer 4.1 download site offers a selection of download choices, which are as follows:
- Microsoft Windows (with or without the JDK)
- Linux RPM (without the JDK)
- Mac OS X (without the JDK)
- Other platforms (without the JDK)
- Command Line: sqlcli
In each case, make your selection and download the required file.
JDK 8 can be downloaded using the following link:
SQL Developer is shipped with the minimum JDK required for each release. You can download and use the latest updates to the JDK and should be aware that some updates to the JDK are not supported. This detail is posted on the SQL Developer Downloads page for each release. Starting from SQL Developer 4.1, JDK 1.8 is the minimum JDK supported.
Once you have installed the JDK, you can start SQL Developer.
Installing and starting SQL Developer
SQL Developer does not use an installer. All you need to do is unzip the given file into an empty folder, locate it, and run the executable.
Do not unzip SQL Developer into an
$Oracle_Home folder or an existing SQL Developer installation.
Unzipping the file creates a sqldeveloper folder, which includes a selection of sub-folders and files, including the sqldeveloper.exe executable.
If your download does not include the JDK, then you'll be prompted for the full path of the JDK folder. Browse to the location of the JDK folder and select it. The path should include the absolute path, as shown in the following screenshot:
Working with different platforms
Whether you are accessing SQL Developer as part of the Oracle Database 11g installation or as a standalone installation, there is a selection of executables available to you. These are either platform-specific or provide additional detail while running the product.
The first executable you'll find is in the
\sqldeveloper root folder. This is the executable more generally used. If you navigate down to
\sqldeveloper\bin, there are two additional executables, sqldeveloper.exe and sqldeveloperW.exe. The latter is the same as the executable in the root folder. Use either of these for running SQL Developer.
The additional executable is often used for debugging purposes. Use
\sqldeveloper\bin\sqldeveloper.exe to invoke SQL Developer and a separate console window will open, which displays additional Java messages. You can use these messages when encountering errors in the product and if you want to log an issue with Oracle Support.
The three steps to getting started on Microsoft Windows are as follows:
- Download: Download the full file, with JDK, from the Oracle Technology Network web site
- Unzip: Unzip the file to an empty directory
- Double-click: Double-click on the
Microsoft Windows is the predominant platform used by SQL Developer users. There is a steadily growing audience for Linux and Max OS X. As neither of these platform downloads include the JDK, you need to first access, download, and install the JDK. On starting either Linux or the Mac OS, you'll be prompted with the full path of the JDK as described.
Mac OS X
Download the file specific to Mac OS X and double-click to unzip the file. This creates an icon for SQL Developer on your desktop. Double-click to run the application.
Use the Linux rpm command to install SQL Developer. For example, your command might look like the following:
rpm -Uhv sqldeveloper-184.108.40.206.07-1.noarch.rpm
In the same way that unzip creates a sqldeveloper folder, with sub-folders and files, the rpm command creates a sqldeveloper folder, complete with files and sub-folders. Switch to this new folder and run the sqldeveloper.sh executable.
Migrating settings from a previous release
In the initial startup of any release of SQL Developer, you may be asked one or two questions. The first is the location of the Java executable of the JDK as discussed. If you have installed the full release with the JDK, this question is skipped. The second question is if you want to migrate any preferences from a previous release. Regardless of whether this is the first SQL Developer installation on the machine or not, the first time you invoke SQL Developer, you are offered the choice of migrating your settings. You can migrate settings of any previous release to the current release from SQL Developer 1.5 version and above. By default, the utility looks for the latest version installed of the software.
If you want to migrate from a different installation, select the Show All Installations button (as shown in the preceding screenshot). This displays a list of all SQL Developer installations that have the system folder in the Documents and Settings system folder (e.g.
C:\Documents and Settings\<your_user>\Application Data\SQL Developer\system220.127.116.11.07-1) and includes releases from SQL Developer 1.5 and above. For releases prior to SQL Developer 1.5, the system folder was created within the SQL Developer installation (for example,
Maintaining your environment
Once you have SQL Developer installed, it is helpful to know about the environmental settings and some of the files that are created when you start the product. Knowing about the version you have installed is important if only to be able to identify this when asking questions on the forum, or when contacting Oracle Support.
Verifying the current release
To verify the SQL Developer release you have, go to Help | About once you start SQL Developer or JDeveloper. In the dialog invoked, select the Extensions tab and find the Oracle SQL Developer extension, as shown in the next screenshot. This will match the build number on the download site if you have the latest release. The screenshot shows a number of the extensions that make up SQL Developer. If your dialog does not show the Version or Status columns, you can select the column headers to resize the visible columns and bring the others into focus.
Using Check for Updates
SQL Developer offers a built-in patching and extensions utility, known as Check for Updates. Check for Updates is used to release the following:
- SQL Developer extensions
- General Oracle extensions
- Minor patches
- Third-party tools required by SQL Developer, such as the non-Oracle database drivers
- Third-party extensions
For all extensions, you need to start Check for Updates to see what's available. To do this, go to Help | Features. Just follow the dialog to find the updates that you require.
You can initially elect to see just the third-party updates, or all updates available, by selecting all options, as shown in the following screenshot:
The database drivers for some of the non-Oracle databases are located in Third Party SQL Developer Extensions. The Third Party update center also includes a selection of customer developed SQL Developer extensions. The customer extensions are developed, supported, and updated by the customer involved; they are not tested, certified, or supported by Oracle.
As with all software downloads from the Internet, you are required to read and accept the license agreements. The Check for Updates utility directs you to the appropriate licenses before downloading the software. If the updates are from Oracle, you will need to provide your Oracle Technology Network sign-on details.
Managing the system folder and other files
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. In most cases, your user-related information is stored outside the SQL Developer installation directory hierarchy so that it is preserved if you delete that directory and install a new version.
The user-related information is stored in or under the IDE_USER_DIR environment variable location, if defined, otherwise as indicated in the following table, which shows the typical default locations (under a directory or in a file) for specific types of resources on different operating systems. (Note the period in the name of any directory named
Default Locations for user-related information resource type system are mentioned as follows (Windows, Linux, or Mac OS X):
SQL Developer user preferences
If you want to prevent other users from accessing your user-specific SQL Developer information, you must ensure that appropriate permissions are set on the directory where that information is stored or on a directory above it in the path hierarchy. For example, in a Windows system you may want to ensure that the SQL Developer folder and the \<user-name>\Application Data\SQL Developer folder under Documents and Settings are not sharable, whereas on a Linux or Mac OS X system you may want to ensure that the ~/.sqldeveloper directory is not world-readable.Sharing preferences.
Preferences are set for your local environment and are therefore not shared globally between teams. However, you can export the SQL Formatter preferences set. This allows you to share the settings between team members and ensure that you all code to the same settings. To export your SQL Formatter settings, go to Tools | Preferences and expand the Database node in the tree. Select SQL Formatter, and you can now export or import previous saved settings.
Alternative installations of SQL Developer
We have been discussing the installation and management of the independent release of SQL Developer available on the Oracle Technology Network. SQL Developer is also available as part of the Oracle Database and Oracle JDeveloper installations.
Most of SQL Developer is integrated into Oracle JDeveloper, which means you need to install JDeveloper to access and use the SQL Developer components. Having SQL Developer as part of JDeveloper means that if you are building Java applications and working with the Fusion Middleware platform, you can access and work with the Oracle Database without an additional install of SQL Developer. JDeveloper does not consume all of the extensions for SQL Developer (for example, extensions like Migrations and Versioning are not included).
Oracle JDeveloper 12c includes SQL Developer 4.0
Oracle Database 12c
SQL Developer is also shipped with the Oracle Database. Initially, Oracle Database 11g Release 1. SQL Developer is installed by default when you install the database. Once the installation is complete, locate the sqldeveloper directory (for example, \product\11.1.0\db_1\sqldeveloper\sqldeveloper.exe) to start SQL Developer. This was continued in 11g R2 and 12c as well.
Be aware that Oracle database releases are less frequent than those of SQL Developer, which, by its nature and size, allows for more frequent updates. This means the version of SQL Developer shipped with the database may not be the most current release. Oracle Database 12c is shipped with SQL Developer 3.2.20.09. All examples in this text are using SQL Developer 4.1. You may also update your database version less frequently than a client tool.
To upgrade the SQL Developer installation in Oracle Database 12c, you need to do a full new installation. As with other installations, create a new folder and unzip the latest download.
Oracle Database 11g Release 1 ships with SQL Developer 1.1.3
Oracle Database 11g Release 2 ships with SQL Developer 1.5.5
Oracle Database 12c ships with SQL Developer 3.2.20.09 to work with 12c features like Multitenant stuff, Redaction, SQL Translation Framework, and Identity Columns.
It seems ominous to provide a section on troubleshooting at this article! If you accept the fact that software can get in a tangle sometimes, either if you use the product as it's not designed, or perhaps include extensions that you'd prefer not to have and the product is no longer behaving as expected, then a few hints on how to escape that tangle can be useful.
If you have created your own extensions, or have downloaded and installed other extensions that you no longer require, then go to Tools | Features and select Extensions from the tree. Here, you see that SQL Developer includes a number of default extensions, such as the Oracle TimesTen extension. In addition, any extension that you have included is listed here. You can deselect extensions here and the product will no longer have access to them. This does not delete the files installed for the extension. You will need to manually delete any files downloaded for that to happen. However, it does mean that you can restart the product and see if the extension is the root of the problem.
Resetting shortcut keys
Some users find that their keyboard shortcuts no longer work as expected. In this circumstance, you can navigate to Tools | Preferences and then select Shortcut Keys from the tree. Click on the Load Keyboard Scheme folder icon on the top-right extreme end, as shown in the following screenshot:
Select Default from the dialog to reset the keyboard accelerators to the shipped settings. This also replaces any settings you have added.
In releases prior to SQL Developer 2.1, the Shortcut Keys are called Accelerators. In releases post 2.1, to reset the keys, select Load Preset.
Reset the environment, do not reinstall the product
When things go wrong, users sometimes resort to deleting and reinstalling a product. This may even require downloading the files again. This is time consuming, and in the case of SQL Developer, not necessary. Assuming you have not edited any of the
.jar files (it's been known to happen and not legally permitted), you can reset the product to the shipped factory settings by deleting the system folder. Before you delete the system folder, export your connections and shut down SQL Developer.
To export your connections, select Connections, right-click and select Export Connections. Save the file to a new location.
When troubleshooting, deleting the system folder is useful. However, by deleting this folder you are also deleting all of the changes made to the preferences, your connections, and any layout changes you have made. Therefore, it is recommended that you delete the folder as a last resort, and not as a standard approach to troubleshooting.
Reset to factory settings
For Microsoft Windows, delete the
\Documents and Settings\<your_user>\Application Data\SQL Developer folder to reset SQL Developer to the shipped factory settings.
For Linux, remove the
~.sqldeveloper folder and on the Mac, remove the
~/Library/Application Support/SQL Developer folder.
In addition to deleting all of the preferences set and connections created, this action also deletes user-defined reports, your SQL history, and any code templates and snippets you have created. In general, delete the lower level system folder for a less drastic reset