Come and get it!

You can download it here.

What you need to know

This release is primarily about BUG FIXES.

A few of note:


That last one, there’s actually quite a few formatter bug fixes, but the biggest one is that in 20.2, the formatter would get upset (add additional indents) after a commented line of code. Seeing as everyone properly comments/documents their code, you should really use 20.4 over 20.2.

Additionally we’ve tried to get SQLDev to behave more nicely on high resolution screens. We’ve implemented a few changes that should help if you’re on a 4k display.

And finally, if you look at the Code Editor fonts, give the ‘Hack’ one a try, we think you’ll like it!

SQLDev can’t be opened because Apple cannot check it for malicious software.

Go into your Mac System Preferences, Security and Privacy, and the General tab.

Then click the radio button for ‘App Store and identified developers.’

This is what it looks like on Big Sur.

We’ve signed the application, you just need to tell your Mac it’s ok to open something you got from outside the App Store.


I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.


  1. Jamie Clark Reply

    Hey Jeff, didn’t want to hijack a thread with a similar problem, but I’m also on Windows 10 and copying ‘text’ data out of the grid does not work anymore. If I try to ctrl-c (or menu -> copy/paste) the output of this query from the grid, I get nothing on the clipboard. Confirmed this by looking at the clipboard history tool, it doesn’t ever show up as being on the clipboard.

    –does not work
    select ‘dummy’ from dual;

    –can not do an entire row row selection, if there’s text in it
    –can copy the 1 and sysdate out of the grid cells
    select ‘dummy’, 1, sysdate from dual;

    I’m using the latest of with the prepackaged JDK.

    I went back to and the copy/paste of text/character/varchar fields works exactly as expected. Seems to be something with selecting a char/varchar/text field and copying? When I highlight the cell, it highlights fine, and if I do a right click ‘export..’, I can walk through the steps to get the data on the clipboard that way, but that’s pretty cumbersome for most of my quick copy/paste jobs.

    Let me know if you need a demo of this, as I can try to zoom real quick or record a video on my machine.

    • No worries on thread-hijacking, no one else seems to worry about it at least 🙂

      In 20.4.1, there’s a known issue if you’re using a Thick Client, or have one configured in the advanced preferences.

      That’ll be fixed for 21.2 – due end of June’ish.

    • Jamie Clark

      Thanks for the confirmation! We’re using radius authentication, so I believe we’re stuck with the thick client. I’ll sit tight on 20.2 for another 2 months.

  2. Sanjeev Kumar Reply

    Hi Jeff,

    Hope you are well. I have tired to launch SQL developer V20.4 on a Windows 7 (32-bit) system. The executable shows up in the task manger however the application does not launch. I was using Java 1.8 u201 (32-bit).

    I later tested out launching v20.4, in a Windows 10 (64-bit) system, but making use of a 32-bit JDK (Java 1.8 u191). In this case also the executable shows up in the task manager however the application does not launch. It however launches successfully though with 64-bit JDK on the Windows 10 system.

    My aim was to get SQL developer (v20.4) running on the Windows 7 32-bit system – however does not seem to work.

    • Windows 7 is no longer supported and we ship 64bit jars for FX, so neither is 32 bit.

      You would need to find an older copy of sqldev to do what you want.

      MSFT no longer support WIN7 either, even if you get this working, it won’t be a very nice experience for your users.

  3. Hi, same problems related by Piotr Rzepecki with same environment. Windows 10, SQLDev 20.4.1, instant client 12.2, OCI connections.

    Additional problems: the “Single Record View” option after right click a selected row in a resultset do not are showed.

    After update some values in a Data sheet of a table and try Commit nothing happends, just logs “oracle/sql/json/OracleJsonDatum”.


    • Please open a service request with My Oracle Support or start a thread on the Oracle SQLDev Forums.

  4. Piotr Rzepecki Reply

    Hello Jeff.

    I have recently installed Oracle SQL Developer 20.4.1 and I have noticed
    that when I query a table I am not able to go to edit mode in the results (to copy and paste a value from the field).

    Additional interesting thing is that edit mode activates for some fields (found that it works for Number and Date fields), so it looks like that it works (sometimes).

    I have also that freeze when I do have long running query and switch between queries.

    I have a question: is there any requirement, which version of Instant Client should be used?
    I am asking because I have tried 18.5, 19.8, 19.9, 19.10 and these does not work,
    while 12.2 works as expected, so I am wondering if there are any requirements for that.

    Best Regards.

    • Piotr Rzepecki

      Well, they coming up but it looks like that for specific data types like number or date – that I have noticed.
      For example if I query dual table I am not able to invoke cell editor in case I would like to copy a value from the field
      (because it is text data type), but when table contains number or date field then cell editors coming up after double click on the field. Very strange and interesting behaviour.

      Best Regards

    • select sysdate from dual;

      run with ctrl+enter, results in grid

      single click-select cell, cmd+C


      23-FEB-21 04.54.57

      If I double click, then I get the Pencil button. If I open that, I get a calendar/clock view for the DATE. Not useful for copy/paste…

    • Piotr Rzepecki

      Here are the steps (Windows 10 machine, JDK 8 u281 x64):
      1. run query using cntrl+enter
      2. double click, so you will get a Pencil button
      3. cntrl+a, cntrl+c and then cntrl+v

      I have used query: select sysdate, dummy from dual;
      and it works on sysdate value, but does not work on dummy.

      I have tried also with single click and it works on sysdate value (cntrl+c copies value and cntrl+v pastes it),
      while it does not work on dummy and cntrl+v pastes previous copied value (which was a sysdate value).

    • What do you mean it doesn’t work on dummy? Dummy is the table, not the column. You said it works on sysdate value – isn’t that what you want?

      Also, no need to double click, just single click, ctrl+C

    • Piotr Rzepecki

      I have used query: select sysdate, dummy from dual;,
      so by Dummy I meant that it does not work on dummy column value (which is ‘X’ in dual table).

      So by single / double click I can copy and paste sysdate value from the first column,
      but I am not able to copy ‘X’ value from second column (dummy column) (double click does not show Pencil in other words).

      I have noticed another difference between 20.4 and 20.4.1
      (Windows 10, JDK 8 u281, Oracle SQL Developer no jre version)

      Testing the Instant Client located at C:\Oracle\Instant Client
      Testing client directory … OK
      Testing loading Oracle JDBC driver … OK
      Testing checking Oracle JDBC driver version … Failed:
      Minimum driver version 21.0 required, specified driver version is

      Testing the Instant Client located at C:\Oracle\Instant Client
      Testing client directory … OK
      Testing loading Oracle JDBC driver … OK
      Testing checking Oracle JDBC driver version … OK
      Driver version:
      Testing testing native OCI library load … OK

      But even if we do have an error on 20.4.1 I am able to connect to the database and query tables.

      Best Regards.

    • there’s literally no code differences in sqldev 20.4 and 20.4.1

      If I run
      select ‘dummy’ from dual;

      I can easily/quickly copy that text from that result.

    • Piotr Rzepecki

      I have tried 20.4 and 20.4.1:
      – with embedded JDK
      – with JDK 8
      – with JDK 11

      and while executing query: select ‘dummy’ from dual I got the following results:
      – it works normally in 20.4 (copy / paste with single / double click)
      – it does not work in 20.4.1 (copy / paste with single / double click)

      On 20.4 while checking Instant Client configuration it works as expected and finishes with success,
      while on 20.4.1 I got

      Testing the Instant Client located at C:\Oracle\Instant Client
      Testing client directory … OK
      Testing loading Oracle JDBC driver … OK
      Testing checking Oracle JDBC driver version … Failed:
      Minimum driver version 21.0 required, specified driver version is

      so it looks like that something has changed between 20.4 and 20.4.1.

      I will stay with 20.2 version for now.

      Best Regards.

  5. Am using SQL Dev 20.4 (64 bit) with instantclient_19_9 (64 bit) seems everything set up and tests correctly
    But the cancellation of select statements is not working when am connected to a my remote DB (even when OCI is enabled)
    May be am doing something wrong here. Help !!

    DB: Oracle Database 12c Enterprise Edition Release

    Set Up Test
    Testing the Instant Client located at C:\Users\aniduram\instantclient_19_9
    Testing client directory … OK
    Testing loading Oracle JDBC driver … OK
    Testing checking Oracle JDBC driver version … OK
    Driver version:
    Testing testing native OCI library load … OK

    More details:

    Oracle SQL Developer
    Build 379.2205

    IDE Version:
    Product ID: oracle.sqldeveloper
    Product Version:


    Component Version
    ========= =======
    Oracle IDE
    Java(TM) Platform 1.8.0_271


    Name Value
    ==== =====
    org.osgi.framework.executionenvironment OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7,JavaSE-1.8
    ide.firstrun true
    osgi.framework file:/C:/Program Files/sqldeveloper_20_4/netbeans/platform/modules/ext/org.eclipse.osgi_3.9.1.v20140110-1610.jar
    java.home C:\Program Files\sqldeveloper_20_4\jdk\jre
    ide.pref.dir C:\Users\aniduram\AppData\Roaming\SQL Developer
    oracle.xdkjava.compatibility.version 9.0.4
    org.osgi.framework.bootdelegation * false
    ide.launcherProcessId 9244 C:\Users\aniduram\OneDrive – AMDOCS\Protected Folders\Documents
    copyright.year.start 2005
    java.endorsed.dirs C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\endorsed
    ide.startingcwd C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin
    osgi.bundlestore C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\system_cache\var\cache\netigso\org.eclipse.osgi\bundles
    sun.java2d.noddraw true
    ide.product oracle.sqldeveloper
    java.version 1.8.0_271 379.2205
    oracle.ide.launcher.startup.time 1613911058017
    objectweb-asm.library C:\Program Files\sqldeveloper_20_4\sqldeveloper\lib\asm.jar
    oracle.jdbc.Trace true 11.1
    osgi.os win32
    osgi.compatibility.bootdelegation false
    felix.log.level 4
    org.osgi.framework.uuid 20e46395-4174-001b-1cef-f9b0d2d79287
    org.openide.major.version IDE/1
    netbeans.buildnumber 201702060959
    oracle.jrf.home C:\Program Files\sqldeveloper_20_4
    ide.user.dir C:\Users\aniduram\AppData\Roaming\SQL Developer ANIDURAM
    org.osgi.framework.version 1.7.0 UnicodeLittle
    org.osgi.framework.system.packages javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,,,,,,,,,,javax.naming,,javax.naming.event,javax.naming.ldap,javax.naming.spi,,,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,,,,,,,,,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,,,,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,,javax.xml.validation,,,,,,,,,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,,org.w3c.dom.html,,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers C:\Program Files\sqldeveloper_20_4\dropins
    sun.jnu.encoding Cp1252 Java(TM) SE Runtime Environment C:\Users\aniduram\OneDrive – AMDOCS\Protected Folders\Documents\SQL Developer
    oracle.ide.osgi.boot.api.OJStartupHook oracle.dbtools.raptor.startup.HomeSupport
    ide.conf C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin\sqldeveloper.conf
    jdk.home C:\Program Files\sqldeveloper_20_4\jdk\jre\..
    private.jdev.load.remote.schemas false
    org.netbeans.CLIHandler.server false
    osgi.instance.area.default file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/
    ide.bootstrap.start 462250703579100
    prism.order sw
    netbeans.dirs C:\Program Files\sqldeveloper_20_4\netbeans\fcpbridge;C:\Program Files\sqldeveloper_20_4\netbeans\ide;C:\Program Files\sqldeveloper_20_4;C:\Program Files\sqldeveloper_20_4\dropins Java Platform API Specification
    sun.awt.datatransfer.timeout 1000
    org.osgi.supports.framework.fragment true
    osgi.framework.useSystemProperties true
    oracle.translated.locales de,es,fr,it,ja,ko,pt_BR,zh_CN,zh_TW
    nb.native.filechooser false
    org.osgi.framework.system.capabilities;”OSGi/Minimum”; version:List=”1.0, 1.1, 1.2″,;”JRE”; version:List=”1.0, 1.1″,;”JavaSE”; version:List=”1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8″ en_US
    osgi.contextClassLoaderParent app
    org.openide.specification.version 6.2
    path.separator ;
    java.naming.factory.initial oracle.javatools.jndi.LocalInitialContextFactory
    osgi.framework.activeThreadType normal
    file.encoding Cp1252
    osgi.arch x86_64
    ice.browser.forcegc false oracle.ide.osgi.boot.OracleIdeLauncher
    https.nonProxyHosts DVCINH6090735
    oracle.ide.IdeFrameworkCommandLineOptions -clean,-console,-debugmode,-migrate,-migrate:,-nomigrate,-nonag,-nondebugmode,-noreopen,-nosplash,-role:,-su
    tool.user.conf C:\Users\aniduram\AppData\Roaming\sqldeveloper\20.4.0\sqldeveloper.conf
    org.osgi.supports.framework.requirebundle true
    oracle.jdbc.mapDateToTimestamp false
    osgi.classloader.type parallel
    osgi.bundles.defaultStartLevel 1 C:\Users\aniduram\AppData\Local\Temp\ windows 10
    ice.pilots.html4.tileOptThreshold 0
    user.language en com.ctc.wstx.stax.WstxInputFactory
    line.separator \r\n
    copyright.year.end 2020
    sqldev.debug false
    ice.pilots.html4.ignoreNonGenericFonts true
    eclipse.parsers.setTCCL false
    org.osgi.framework.processor x86-64
    oracle.ide.extension.HooksProcessingMode LAZY mixed mode
    osgi.manifest.cache C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\system_cache\var\cache\netigso\org.eclipse.osgi\manifests
    sun.desktop windows Java Virtual Machine Specification
    netbeans.dynamic.classpath C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\asm-all-5.0.1.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\core-base.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\core.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\org-netbeans-libs-asm.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\org-openide-filesystems.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_de.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_es.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_fr.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_it.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_ja.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_ko.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_pt_BR.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_zh_CN.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\core_zh_TW.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_de.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_es.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_fr.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_it.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_ja.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_pt_BR.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-netbeans-libs-asm_zh_CN.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_de.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_es.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_fr.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_it.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_ja.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_ko.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_pt_BR.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_zh_CN.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\core\locale\org-openide-filesystems_zh_TW.jar;C:\Program Files\sqldeveloper_20_4\netbeans\fcpbridge\core\org-netbeans-core-dynamicconfig.jar;C:\Program Files\sqldeveloper_20_4\netbeans\fcpbridge\core\locale\core_jdev.jar
    jdbc.library C:\Users\aniduram\instantclient_19_9\ojdbc8.jar
    excluded.modules org.eclipse.osgi
    ide.boot.class.path C:\Program Files\sqldeveloper_20_4\ide\lib\javax-ide.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\javatools.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.javatools\javatools-nodeps.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.javatools\javatools-jndi-local.jar,C:\Program Files\sqldeveloper_20_4\ide\extensions\oracle.ide.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\idert.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.javatools\oicons.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\uic.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\audit-boot.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\indexing-migrator-boot.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.bali.jewt\jewt4.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.bali.share\share.jar,C:\Program Files\sqldeveloper_20_4\jlib\help4.jar,C:\Program Files\sqldeveloper_20_4\jlib\inspect4.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.xdk\xmlparserv2.jar
    osgi.configuration.area file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/var/cache/netigso/
    sun.java2d.ddoffscreen false
    ide.cluster.dirs /Program Files/sqldeveloper_20_4/netbeans/fcpbridge/:/Program Files/sqldeveloper_20_4/netbeans/ide/:/Program Files/sqldeveloper_20_4/netbeans/../
    ilog.propagatesPropertyEditors false
    oracle.jdbc.useFetchSizeWithLongColumn true
    netbeans.home C:\Program Files\sqldeveloper_20_4\netbeans\platform file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/var/cache/netigso C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin\sqldeveloper64W.exe win32
    javax.xml.transform.TransformerFactory oracle.ide.xml.switchable.SwitchableTransformerFactory
    org.osgi.supports.framework.extension true
    oracle.jdbc.autoCommitSpecCompliant false
    gosh.args –nointeractive
    osgi.parentClassloader app
    org.osgi.framework.language en Windows 10
    eclipse.home.location file:/C:/Program Files/sqldeveloper_20_4/
    java.specification.vendor Oracle Corporation Java HotSpot(TM) 64-Bit Server VM
    org.openide.version deprecated
    ide.AssertTracingDisabled true
    sun.awt.enableExtraMouseButtons true
    java.library.path C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Users\aniduram\instantclient_19_9;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Progra~1\Java\jdk1.7.0_10\bin;C:\Program Files\PowerShell\7\;C:\Program Files\Perforce\;C:\Users\aniduram\AppData\Local\Microsoft\WindowsApps;C:\Users\aniduram\AppData\Local\Programs\Microsoft VS Code\bin;;.
    ide.cfu.class.path C:\Program Files\sqldeveloper_20_4\modules\oracle.bali.share\share.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.bali.jewt\jewt4.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.xdk\xmlparserv2.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\javatools.jar,C:\Program Files\sqldeveloper_20_4\modules\oracle.javatools\javatools-nodeps.jar,C:\Program Files\sqldeveloper_20_4\ide\lib\idert.jar,C:\Program Files\sqldeveloper_20_4\ide\extensions\oracle.ide.jar,C:\Program Files\sqldeveloper_20_4\ide\extensions\oracle.ide.webupdate.jar jnidispatch-422
    java.class.version 52.0
    user.conf C:\Users\aniduram\AppData\Roaming\sqldeveloper\20.4.0\product.conf sqldeveloper/extensions:jdev/extensions:ide/extensions
    ide.config_pathname C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin\sqldeveloper.conf
    oracle.ide.reportEDTViolations.exceptionsfile /Program Files/sqldeveloper_20_4/ide/bin/swing-thread-violations.conf
    ide.system.dir C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\
    java.util.logging.config.file logging.conf
    osgi.instance.area file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/
    osgi.install.area file:/C:/Program Files/sqldeveloper_20_4/
    sun.boot.library.path C:\Program Files\sqldeveloper_20_4\jdk\jre\bin HotSpot 64-Bit Tiered Compilers
    netbeans.logger.console true
    java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment
    ide.pref.dir.base C:\Users\aniduram\AppData\Roaming
    ide.splash.screen splash.gif
    osgi.user.area file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/
    ide.debugbuild false
    java.vm.specification.version 1.8
    sun.locale.formatasdefault true
    osgi.noShutdown true
    orai18n.library.dir C:\Program Files\sqldeveloper_20_4\jlib
    xdb.library C:\Program Files\sqldeveloper_20_4\rdbms\jlib\xdb6.jar
    sun.cpu.isalist amd64 1.8.0_171
    java.ext.dirs C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
    os.version 10.0
    osgi.framework.version 3.9.1.v20140110-1610
    http.agent SQL Developer/20.4.0 (Windows 10 10.0; amd64; Java 1.8.0_271; NA; 9d4acc62-0175-1000-8001-0a50f2f65ddf; )
    user.home C:\Users\aniduram
    org.xml.sax.driver oracle.xml.parser.v2.SAXParser .
    java.vm.vendor Oracle Corporation
    javax.xml.parsers.DocumentBuilderFactory oracle.xml.jaxp.JXDocumentBuilderFactory
    ide.user.dir.var IDE_USER_DIR
    osgi.hook.configurators.include org.netbeans.modules.netbinox.NetbinoxHooks
    ide.startingArg0 C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin\sqldeveloper64W.exe
    user.dir C:\Program Files\sqldeveloper_20_4\sqldeveloper\bin
    org.osgi.framework.os.version 10.0.0
    ide.RectangularSplashScreen true
    osgi.user.area.default file:/C:/Users/aniduram/AppData/Roaming/SQL Developer/system20.4.0.379.2205/system_cache/
    sun.cpu.endian little
    reserved_filenames con,aux,prn,lpt1,lpt2,lpt3,lpt4,lpt5,lpt6,lpt7,lpt8,lpt9,com1,com2,com3,com4,com5,com6,com7,com8,com9,conin$,conout,conout$ true
    ORACLE_HOME C:\Program Files
    java.vm.version 25.271-b09
    oracle.home C:\Program Files\sqldeveloper_20_4
    java.class.path C:\Program Files\sqldeveloper_20_4\ide\lib\ide-boot.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\lib\boot.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\lib\org-openide-util-ui.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\lib\org-openide-util.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\lib\org-openide-util-lookup.jar;C:\Program Files\sqldeveloper_20_4\netbeans\platform\lib\org-openide-modules.jar;C:\Program Files\sqldeveloper_20_4\ide\lib\fcpboot.jar;C:\Program Files\sqldeveloper_20_4\ide\lib\xml-factory.jar;C:\Program Files\sqldeveloper_20_4\modules\com.fasterxml.woodstox\woodstox-core.jar;C:\Program Files\sqldeveloper_20_4\modules\org.codehaus.woodstox\stax2-api.jar;C:\Program Files\sqldeveloper_20_4\sqldeveloper\lib\oracle.sqldeveloper.homesupport.jar
    oracle.fcp.home C:\Program Files\sqldeveloper_20_4
    javax.xml.parsers.SAXParserFactory oracle.xml.jaxp.JXSAXParserFactory
    os.arch amd64
    oracle.ide.reportEDTViolations bug
    ide.devbuild false
    prism.allowhidpi false
    netbeans.user C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\system_cache
    org.osgi.framework.vendor Eclipse
    ide.diagnostics.dir C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\.diagnostics\ true
    java.vm.specification.vendor Oracle Corporation
    file.separator \
    java.runtime.version 1.8.0_271-b09
    sun.boot.class.path /Program Files/sqldeveloper_20_4/rdbms/jlib/ojdi.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\resources.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\rt.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\sunrsasign.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\jsse.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\jce.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\charsets.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\lib\jfr.jar;C:\Program Files\sqldeveloper_20_4\jdk\jre\classes;C:\Program Files\sqldeveloper_20_4\jdk\lib\tools.jar;C:\Program Files\sqldeveloper_20_4\jdk\lib\dt.jar US
    osgi.configuration.cascaded false
    oracle.ide.startup.features sqldeveloper
    osgi.logfile C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\system_cache\var\cache\netigso\1613911059265.log
    sqldeveloper.oci.available true
    jdeveloper.system_http_proxy DIRECT C:\Users\aniduram\AppData\Roaming\SQL Developer\system20.4.0.379.2205\system_cache
    xmlparser.library C:\Program Files\sqldeveloper_20_4\modules\oracle.xdk\xmlparserv2.jar
    java.vendor Oracle Corporation
    oracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG true
    sqldev.onsd true
    osgi.bundlefile.limit 500
    oracle.ide.classload.layer osgi
    osgi.locking none
    java.specification.version 1.8
    oracle.product.home C:\Program Files\sqldeveloper_20_4 64
    java.memory.heap.init 134217728
    java.memory.heap.max 1908932608
    java.memory.heap.used 204275856
    java.memory.nonheap.init 2555904
    java.memory.nonheap.max -1
    java.memory.nonheap.used 187474632


    Name Identifier Version Status Registration Time Initialization Time Total Time
    ==== ========== ======= ====== ================= =================== ==========

    • And with just a thin connection?

      Sql statements or also anon blocks?

      My test is usually this:


      I can execute and cancel this reliably…

    • Hi Jeff

      Issue seems to happening with sql statements on read only database. Happens with thin connection as well.
      Since it is a read only database, I can’t use Dbms_lock.

      However, when I connect to different DB which is read and write, I am able to use Dbms_lock.sleep(360) and canel it fine.

  6. Hi Jeff,

    I use SQLDeveloper on x64 Windows 10 Pro and several times a day it freezes (not responding) and I have to kill.
    Using 20.2 version I never had this problem.
    Do you have any suggestions ?


    • My best guess is that you’re running into a known issue that we hope to have a fix for in June.

  7. Hi Jeff,

    I’m openning objects in other database which has connection to my database via Database Links. I have proper rights, I can query them. But I want to check the SQL code of a view. So I login to this other DB, go to Other Users, find the user and a view and go SQL tab, generating DDL is shown, but code is not displayed. Funny enough in Details Tab, field TEXT I have this code and can copy it and have a look into it. But not in SQL tab.

    In 19.4 there was no such problem. SQL was displayed although it had a note on top:
    — Unable to render VIEW DDL for object AAA.BBB with DBMS_METADATA attempting internal generator.

    Is it some kind of bug in 20.4? Not a big issue as I can take the code from Details / Text, but confusing.

    Best regards

    • We removed the old, broken, deprecated ‘internal generator’ for object DDL. So now you need the proper db privs in order for DBMS_METADATA (and the database) to be able to officially generate the DDL on an object.

  8. Hi Jeff,

    old versions of SQL Developer was running fine on my MacBook. After the update to 20.4 unfortunately it will not start. I see the icon in the dock for a second that’s all.

    I edited “$HOME/.sqldeveloper/20.4.0/product.conf” with “SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home”. That’s the only one version in this path. Now, SQL Developer starts but shows me that I’m using an old/unsupported version. Therefore I downloaded and installed “jre-8u281-macosx-x64.dmg”. But in “JavaVirtualMachines” I will not see this new version.

    The MacBook is installed with BigSur. However, I don’t even get to the point where the MacOS security message appears when I start SQL Developer.

    Any hint?

  9. Hi,

    I’m using the 20.4 version and whenever I use an unshared worksheet to run sql/code, after going back and forth to other worksheets, when I get back to the unshared worksheet that has the sql/code running, the sql developer hangs, only coming “back to life” after the task is completed.

    Any idea why it’s happening or if it’s a known issue of this version?
    Didn’t have this issue in the 20.2 version.


    • I open an unshared worksheet.

      I run this –

      I go and do ‘stuff’ on my main connection – browse a table, run a query in main worksheet.

      Go back to unshared worksheet with script…, go back to doing other things…it’s working just fine for me.

      What are you doing?

    • Hi Jeff,

      I believe I’m doing normal stuff… run queries, browse, the same thing you did. The only difference is that the code that’s running in the unshared worksheet takes longer (> 30m/1h) . Sometimes it allows me “revisit” that unshared worksheet without hanging, but after a while (5min maybe, cant tell for sure) if I click it, freezes completely.

      I’m going to try with a “clean” installation, without migrating from 20.2 and see if it helps.


    • I have a support person with a customer case saying the same, but my support guy can reproduce it in-house. That means we can figue out what’s going on and fix it – will let you know what the deal is when I do, and if there’s a workaround.

    • Thanks Jeff,

      You are right. Was my mistake to take the wrong version.


    • Jeff,

      Thanks for the feedback. Glad that I’m not the only one 🙂


  10. Philip Raets Reply

    Hi Jeff,

    My passwords are stored in an Oracle Wallet, and I connect in SQL Developer with a custom JDBC string:

    The combination of Oracle instant client 21.1 and SQLcl 20.4 is working fine with the wallet (sql -oci /@MY_WALLET_USER
    but with SQL Developer I got an error:
    Status : Failure -Test failed: no ocijdbc19 in java.library.path: [/usr/lib/oracle/21/client64/lib, /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]

    How can I get SQL Developer working again with the wallet and oracle instant client 21.1?
    (and why does it need a specific version of the instant client to work?)

    I am using linux, and installed everything from rpm.



    • Luis Centeio

      Hi ,
      The new SQL developer freezes many times .

      Same problem

  11. I have problems with completion insight in 20.4. Works on table names if I write schema, but does not work on columns. Columns are displayed, I selected the one I want and press enter, but instead of adding the column name to the code it just goes to another line. I’ve opened 19.4 again and works perfectly well there.

    Do you have similar problem?

    • The problem seems to be only if I query table from dfifferent schema. For tables in the schema I’m connected to it works perfectly fine.

    • If i do
      select * from sh.sales
      — invoke insight and pick channel_id I get

      select * from sh.sales
      where CHANNEL_ID

      What are you doing, exactly?

    • I type:

      Then I go back between select and from and start typing column name. Now, when table name is from the schema I’m logged in I choose the suggested column, press ENTER and all is fine.

      but if I type (let’s use your example)

      and go back between select and from and start typing CHA… and select it from suggestions the result will be:

      because ENTER will simply go to next line like without suggestion.

      I’ve checked your scenario and indeed after WHERE it works fine 🙂

      As mentioned in 19.4 it works as expected.

  12. Jeff,

    I had the same issue as John. The View menu totally didn’t have Snippets listed in it anymore after the upgrade (20.2 to 20.4).

    I did the Window – Reset Factory Settings and the entry came back into the View menu.

    So, while it worked… Is that a bug?


    • I would think so, and I’ve seen people describe it much like you over the years – but I’ve never been able to reproduce it myself.

  13. I downloaded SQLDeveloper 20.4 and installed on my windows 10 x86 pc but it doesn’t start at all.
    Played with the Java versions, cleaned the %appdata% folders as well but no success.
    Returned to the previous release and it works normally.
    My work pc with windows10 x64 has been upgraded smoothly without any issues.

    Does x86 still supported?

    • what happens when you try to launch it from the cmd prompt using the EXE in the root folder?

    • I did it and i got back to the shell without any error or info.
      I checked the task manager and found the program running so I had to kill it after some time.

    • I repeated the startup process several times from cmd/shell and by the windows explorer shortcut but it does not return any message ever.

      As I wrote from the 1st message version 20.2 works fine.

    • Checked out product.conf, has the same path for java (jdk 8 ver202) and it is identical to the version of 20.2

    • Tried it with no luck.
      I also played with java 8 jdk versions if by any chance could make it start but nothing happen.
      Is it any argument to pass to the executable to have a logfile?

    • Sounds like something on the OS is getting in the way – if you cd down into the sqldeveloper\sqldeveloper\bin directory, there is a .bat file and an exe there, try both of those from the cmd prompt.

    • Here is what i get from sqldeveloper.exe inside the sqldevelo[er/bin folder:

      Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=”Sun Microsystems Inc.”
      Exception in thread “main” java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
      at java.lang.reflect.Constructor.newInstance(
      at java.lang.Class.newInstance(
      at java.awt.Toolkit$
      at java.awt.Toolkit$
      at Method)
      at java.awt.Toolkit.getDefaultToolkit(
      at java.awt.Toolkit.getEventQueue(
      at java.awt.EventQueue.isDispatchThread(
      at javax.swing.SwingUtilities.isEventDispatchThread(
      at oracle.ide.osgi.boot.SplashScreenImpl.SynchronizeWithEdt(
      at oracle.ide.osgi.boot.api.SplashScreen.createInstance(
      at oracle.ide.osgi.boot.OracleIdeLauncher.showSplashScreen(
      at oracle.ide.osgi.boot.OracleIdeLauncher.main(

      So I see a memory issue happening..
      Checked my available memory and it has at list 2gb free (the system has 8gb memory but since it is x86 can use up to 4)

    • Edit the sqldeveloper.conf and uncomment the line around max memory allowed, and increase it.

    • I played with several values but it always returns error
      with AddVMOption -Xmx624m the program starts and hangs on loading
      the output from cmd/shell is:
      Exception in thread “main” java.lang.OutOfMemoryError: unable to create new native thread

      when is set -Xmx1g it returns just the above exception without any window popup
      when more i get:
      Could not reserve enough space for 1548288KB object heap

    • It’s trying to get memory that your machine doesn’t have. Pretty simple, it wants more memory to start the program, and the JVM can’t get it from the OS.

    • I saw it too as a memory issue but what i can’t understand is that the system has more than 2g free memory and i get errors with much lower program needs.
      Anyway I can continue working with the 20.2 ver that works fine and sometime soon I clean it and install the w10_x64 so it can use the full system memory.

      Thank you for your time

  14. Krzysztof Foryś Reply

    Hi, got popup with message:
    Exceeeded default parse threshold. Try: “set hidden param parseThreshold = 40000”

    Where/how can i set this param?

    • This appears to be a documentation and UI oversight, my apologies. Try running this in a worksheet
      set hidden param parseThreshold = 150000;

      if you like the behavior of that going forward – add that to a login.sql script. Note it will consume more resources…but you’ll get better insight/parser support on larger (HUGE) plsql code blocks.

  15. I downloaded the new SQLDev 20.4 to my Mac running Catalina 10.15.7. I can connect and query a database. When I view the DBA tab, connect to an Oracle 19c database, select Tuning, Select Real Time SQL Monitor (accept license), it just spins for hours on “Please wait while SQL Developer loads required features. Loading Oracle OLAP.” The status bar is sitting at about 65%. Any ideas?

    • Kill it and restart. Should be fine. I’ve seen this before, when it happens, it’s usually only the one time.

    • Thanks for the reply Jeff. I shutdown SQLDeveloper restarted my Mac and now the DBA pane doesn’t even show up in the client. I can click the View -> DBA over and over, restarting both SQLDev and my Mac and no fix. Anything else I can try?

Write A Comment