So go download it.
I’m at the beach this week, not working. Mostly.
I’ll be talking about our newest addition to the family, pretty much non-stop, starting next week and stopping when version.NEXT is released. You have plenty to look forward to π
For now, just a few points:
- We’re not distributing the JDK on Windows 32 bit distributions anymore
- We now require Java 1.7 JDK by default
- Windows installs will attempt to auto-find the JDK for you on the first run – if you’re in 64-bit mode, run the 64.exe in the bin directory and we’ll look for the 64bit JDK – once it’d defined, you can run the main dir exe again
- We’re shipping an 11.2.0.3 JDBC driver now, so you’ll need an 11.2.0.3 client to use OCI/thick connections – this will SOON change to 12cR1 driver/client requirement
- All 3rd party extensions are currently disabled – our framework has changed such that they will need to be updated to be compatible with the new version – more to follow early next week
- This is the first EA release for 4.0 – there will be more as you help us fine tune and tweak the new features and identify bugs
- Don’t be shy with your feedback, you won’t hurt our feelings
Now, back to the beach π
297 Comments
I am having issues loading developer, I keep getting the “Cannot find a Java SE SDK installed at path:..” error.
Just download this http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html and install it. You should be fine. My mistake was that since I already had it installed, I didn’t think I needed to install it again. Well, after installing it again, SQL Dev worked!
Hi Jeff,
Here’s an example of what i’m running :
VARIABLE sql_id_var VARCHAR2(64);
VARIABLE sql_child_number_var NUMBER;
VARIABLE sql_exec_var NUMBER;
— here’s our target statement :
select count(*) from gv$session;
begin
SELECT PREV_SQL_ID, PREV_EXEC_ID, PREV_CHILD_NUMBER INTO :sql_id_var, :sql_exec_var, :sql_child_number_var
FROM v$session V
inner join v$sql S on S.sql_id = V.prev_sql_id
WHERE SID = (SELECT dbms_debug_jdwp.current_session_id from dual )
AND serial# = (select dbms_debug_jdwp.current_session_serial from dual)
and parsing_schema_name = user ;
end;
/
Now, i’ve noticed that in a sense you’re right. If I select all of the above code in one block and then hit F5 – it works. However, if I run each statement separately it doesn’t. It then picks up the sql developer select that we were discussing earlier.
That is a change from sql developer 3, cause with 3 you could run each statement
interactively, and still get the right result. But anyway.
It’s worth being aware of though, cause people often run things one at a time. Take this other example :
select count(*) from gv$session;
select * from table( dbms_xplan.display_cursor(NULL, NULL, format => ‘ADVANCED’ ) );
In this situation, display_cursor should show you the LAST sql executed.
And, as with the earlier example, if you select both and hit F5 you get the expected result, which is the explain plan for the first statement. If you run one at a time however, you get the explain plan for gypnfv5nzurb0, which is our :
select child_number from v$sql where sql_id = :1 order by…
Let me know what you think.
Paul Stuart
selecting everything and running at once – that was going to be my suggestion. even for running an xplan request via earlier versions has the same issue you’re referring to – the parent thread (connection) is being used to run things for the IDE vs JUST what you’re running.
Hi Jeff. Yes, I thought it might be something like that.
The problem now, is that any time you run some sql interactively from SQL developer,
the PREV* fields from V$SESSION are effectively gone. I have code that was
using those fields to find, well, the previous sql id. Now that’s not possible.
Is it possible to enable or disable this feature?
regards
Paul Stuart
If the query is in your worksheet, just use the explain plan drop-down, it will show the SQLID of the query at the cursor. Does this give you what you want?
Hi Jeff,
Well, not really. Because what I was doing was selecting the
results of these queries into sqlplus variables.
I understand the desire to enhance the gui and make sql developer
a better development environment.
But there is also a sense in which SQL developer is the main platform
for executing sql, sqlplus and PL/SQL code. Isn’t it?
SQLplus for windows is dead, and I personally hate using the
commandline sqlplus for windows too. I like to use SQL Developer
for all my work. I’m sure you agree.
I’m not going to go on about this, but as the main windows client
for Oracle, doesn’t SQL Developer have a duty to reliably run the
same sql and pl/sql that sqlplus does? Because if not SQL developer, then who?
regards
Paul Stuart
We run a superset of what SQL*Plus does – that and then some. The ‘and then some’ lets you have fun things like code assistance and such.
Would you mind sharing your query? And maybe share what you’re using these for? It will help me build a business case for making a change or tweak in how this feature is currently working (or not in your case.)
Paul, one more question, how are you executing your sql? If you’re using F5, I’m thinking this should work – that should ONLY be running your SQL and it’s intent is to mimic SQL*Plus behavior as close as possible.
Hello,
I’m using the latest (12.84) build of 4.0.
Has anyone else noticed that the PREV_SQL_ID column of V$SESSION now
always shows ‘gypnfv5nzurb0’. This sql is :
select child_number from v$sql
where sql_id = :1
order by child_number
The PREV_EXEC_ID field keeps increasing too, so it’s obviously something
being run in the background of SQL Developer. I’ve tried settting SERVEROUTPUT
to ON and OFF, but that doesn’t seem to affect it.
And yes, it did work in previous versions of SQL Developer. The PREV_SQLID
column generally shows the last SQL that you executed.
Paul S
We’re grabbing the SQL_ID’s for the queries in your worksheet. These are then available for the new Explain Plan feature discussed here.
Sorry for the multiple replies Paul, but that code you’re finding, from what I can tell, that’s only generated when you have SET AUTOTRACE ON going…did you perhaps set this and forget about it?
Hi.
Even though I set a break point at a package body, the debugger won’t break at the specified line at all. (I used debug not execute)
It worked well in version 3.2.20.09 and our oracle server version is 10.2.x.
If I set host to my local IP address after being prompted, It works.
Without that option enabled in preference, I can not make it work.
The error messages are as follows:
ALTER SESSION SET PLSQL_DEBUG=TRUE
CALL DBMS_DEBUG_JDWP.CONNECT_TCP( ‘127.0.0.1’, ‘1400’ )
ORA-30683: failure establishing connection to debugger
ORA-12541: TNS:no listener
ORA-06512: at “SYS.DBMS_DEBUG_JDWP”, line 68
ORA-06512: at line 1
That’s as designed. The database is making a connection back to your computer. If you put localhost in, it will only work if the database and sql developer are running from the same machine.
It used to work in previous version without that option enabled.
Do I have to see the host input dialog every time I try to debug?
hello there, i’ve a problem:
Illegal character in path at index 53: file:/C:/Users/usuario/AppData/Roaming/SQL Developer/UserSnippets.xml
Any suggestions?
Thank you
Hi there!
1. DB object finder does not work when OSD is installed on Fedora Linux or any distro.
2. (Sql worksheet) scripts with more than 1,000 lines freeze the editor to the point it become useless.
1. How so? What happens when you try it? It’s the same code on any OS, so Fedora shouldn’t come into play
2. Can you get EA2 – came out late yesterday. This was a known bug and should be fixed
Thank you
This happens on Fedora 18, when I select DB obj finder, I choose all schemas, table, type the table name, click Go and nothing happens, even I check all sources check box. The screen only shows a blink but nothing else appears as a result.
I have same problem with start SQL Developer 4 on Fedora 19 and Oracle JDK 7u40.
SQL Developer and Oracle JDK installed from RPM.
Hello there, I am having issues running SQL Dev 4 on Fedora 19…I installed open jdk7 but when I launch the program, the loading screen shows up but program crashes somehow and doesnt boot. When I run it from terminal as su, I get the following:
Oracle SQL Developer
Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
Sep 09, 2013 9:53:46 AM javax.ide.extension.spi.DefaultElementContext resolveResource
SEVERE: jar:/file:/opt/sqldeveloper/sqldeveloper/extensions/oracle.sqldeveloper.migration.application.jar!/META-INF/extension.xml:16: Resource not found: ‘${SCRATCH_COMMAND_ICON}’.
LOAD TIME : 164#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000003b09c62e00, pid=2070, tid=140424423397120
#
# JRE version: 7.0_25-b15
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C 0x0000003b09c62e00
[error occurred during error reporting (printing problematic frame), id 0xb]
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unlimited” before starting Java again
#
[thread 140424509183744 also had an error]
# An error report file with more information is saved as:
# [thread 140424509183744 also had an error]
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
/opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 611: 2070 Aborted (core dumped) ${JAVA} “${APP_VM_OPTS[@]}” ${APP_ENV_VARS} -classpath ${APP_CLASSPATH} ${APP_MAIN_CLASS} “${APP_APP_OPTS[@]}”
Thereafter my fedora shows a message saying “A problem in the jdk-1.7.0_25-fcs package has been detected”
Any ideas how I can fix this
It sounds like your java install is borked. Do you have SQL Developer 3.2 installed, if so, does it also ‘not work?’
Can you try re-installing Java 7?
Nelson. I was having the same issue as others, that only sudo would make SQLDeveloper to work. After running a strace on SQLDeveloper with and without sudo, I compared the output of both and identified that the one failing was due to being unable to find some awt libraries. So I started removing environment variables and found out that the culprit is GNOME_DESKTOP_SESSION_ID. Just unset that variable and SQLDeveloper will work fine, at least works fine for me :).
Yep, worked for me. Thanks!
Thanks a lot!
Thanks. That helped me, too. I had to unset two variables:
unset GNOME_DESKTOP_SESSION_ID
unset DBUS_SESSION_BUS_ADDRESS
I just added that to the launcher script, and that fixed my problem.
Thank you
Merci. Worked for me. Added the following:
unset GNOME_DESKTOP_SESSION_ID
unset DBUS_SESSION_BUS_ADDRESS
Then started sqldeveloper from the command line using sudo as follows:
sudo sqldeveloper
Thank you! You saved my day! All the best!
It works! Thanks for posting this.
The PL/SQL debugger does not work.
no ideas why not… I click on the debug icon and an empty pl/sql calling block is openintg.
The content can not be stored nor retrieves by the file open function.
Can you give me please an advice wht is missing in the config or the documentation
Does the same thing happen when you try to execute it – a blank pl/sql calling block?
Yes, it’s everytime blank and nothing happens ……
Blank every time for that particular piece of code or for EVERY single pl/sql object you try? Our parser is blowing up on something obviously – and we’ve been fixing these bugs as we’ve been going along.
Can you share an example program where you’re seeing this behavior?
Hi Jeff, thank you in advance
UIDefaults.getUI() failed: no ComponentUI class for: oracle.ide.controls.StatusBarControl$JDevStatusBar[,0,0,0×0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=]java.lang.Error
at javax.swing.UIDefaults.getUIError(UIDefaults.java:729)
at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:130)
at javax.swing.UIDefaults.getUI(UIDefaults.java:759)
at javax.swing.UIManager.getUI(UIManager.java:1002)
at oracle.bali.ewt.statusBar.StatusBar.updateUI(StatusBar.java:480)
at oracle.bali.ewt.statusBar.StatusBar.(StatusBar.java:104)
at oracle.ide.controls.StatusBarControl$JDevStatusBar.(StatusBarControl.java:264)
at oracle.ide.controls.StatusBarControl.(StatusBarControl.java:48)
at com.oracle.jdeveloper.nbwindowsystem.NbMainWindow$11.(NbMainWindow.java:1076)
at com.oracle.jdeveloper.nbwindowsystem.NbMainWindow.createStatusBar(NbMainWindow.java:1076)
at oracle.ide.IdeMainWindow.getStatusBar(IdeMainWindow.java:624)
at com.oracle.jdeveloper.nbwindowsystem.NbMainWindow.getStatusBarStatic(NbMainWindow.java:228)
at com.oracle.jdeveloper.nbwindowsystem.NbStatusBar.getStatusLineElement(NbStatusBar.java:23)
at org.netbeans.core.windows.view.ui.MainWindow$4.run(MainWindow.java:365)
at org.netbeans.core.windows.view.ui.MainWindow.getStatusLineElements(MainWindow.java:377)
at org.netbeans.core.windows.view.ui.MainWindow.decoratePanel(MainWindow.java:331)
at org.netbeans.core.windows.view.ui.MainWindow.initializeComponents(MainWindow.java:248)
at org.netbeans.core.windows.view.DefaultView.showWindowSystem(DefaultView.java:563)
at org.netbeans.core.windows.view.DefaultView.windowSystemVisibilityChanged(DefaultView.java:542)
at org.netbeans.core.windows.view.DefaultView.changeGUI(DefaultView.java:187)
at org.netbeans.core.windows.ViewRequestor.dispatchRequest(ViewRequestor.java:275)
at org.netbeans.core.windows.ViewRequestor.processVisibilityRequest(ViewRequestor.java:264)
at org.netbeans.core.windows.ViewRequestor.postVisibilityRequest(ViewRequestor.java:201)
at org.netbeans.core.windows.ViewRequestor.scheduleRequest(ViewRequestor.java:121)
at org.netbeans.core.windows.Central.setVisible(Central.java:140)
at org.netbeans.core.windows.WindowManagerImpl.setVisible(WindowManagerImpl.java:926)
at org.netbeans.core.windows.WindowSystemImpl.show(WindowSystemImpl.java:105)
at org.netbeans.core.GuiRunLevel$InitWinSys.run(GuiRunLevel.java:246)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Hi,
I have downloaded and started using SQL Developer 4.0, but when opening it the loading bar hangs at the 3rd and a section. Any suggestions? I am using the latest JDK, previously I used sql developer 3.2
Thank you
Start the tool using the EXE in your bin directory – that will give you a cmd console window with logging info. When SQL Dev hangs at startup, send a ctrl+break/pause and grab that info and post it here.
Hi Jeff,
using “Remote Debug”, every time I connect with our program to the database in debug mode a dialogue “Choose default run target” appears which I have to “Cancel”.
Then when debugging is stopped through SQL developer’s “Terminate” button or through kill of our program an IdeConnection…jpr remains in the “Processes” view and cannot be removed anymore.
Regards,
Harald
Have you read Barry’s blog on how to setup remote debugging in SQLDev?
No, I didn’t.
Now I read it and it does not help, unfortunately.
Remote Debugging with SQL Developer 4.0 works well.
Problems arise if you want to change plsql package code and recompile it as once starting remote debugging, these debug sessions stay open until infinity and there is no way to get rid of them anymore. This prevents recompilation. The only way to get out of this is to restart SQL Developer.
Any other ideas?
I’m confused. Why would you make changes to your program and compile it whilst debugging? End your debug session and THEN compile it. I imagine this behavior is the same in previous versions?
Exactly that IS the problem. I want to end the debug session and can’t do it.
All debug sessions except the first one don’t stop in my environment and the red squared stop button is gray out for these debug sessions, then.
And no, with 3.2 I had no problems.
Can you confirm for me that you’re able to end a ‘local’ debug session successfully? Thanks for your patience here.
Also, this works as expected in v3.2.2, or the issues are localized to version 4? And by that I mean, can you try again with 3.2 now just to make sure? When you say you ‘had’ no problems, I don’t know how long it’s been since you’ve tried and want to make sure nothing in your env has changed other than SQL Developer.
Hi Jeff,
I can confirm ‘local’ debugging works well.
And this works as expected in 3.2.20.09.
Currently I use them side by side. 4.0 for its support of svn 1.7 and 3.2, well, for debugging.
I can send you some screenshots if that helps. Just tell me where I should send them.
Now, in my tries is something different as the red stop button is not greyed out anymore. Instead I can press the button (without result) and get two kinds of error messages:
Error during handleEvent on action ‘Terminate’ (id=259).
None of the attached controllers handled the action.
– oracle.ide.controller.IdeAction$ControllerDelegatingController@c7e040a5[oracle.ideimpl.controller.MetaClassController@c7e040a5[oracle.ideimpl.runner.RunManagerController]].
and
Error during handleEvent on action ‘IdeConnections%23PEGAPLAN+at+tslpxm2_ldap.jpr’ (id=1247).
None of the attached controllers handled the action.
– oracle.ide.controller.IdeAction$ControllerDelegatingController@5fabbbcf[oracle.ideimpl.runner.TerminateRunProcessButtons@5fabbbcf].
Hi,
I currently use 3.2.10.09 with the SVN plug-in and in testing out 4.0, I am unable to connect to the repository using the same parameters. The issue is likely that we are using SVN Bridge to connect to a TFS 2010 repository. Any chance you could support this configuration or is this too much of a stretch?
Thanks!
Ummmm, yeah. I didn’t even know this was possible. So if I understand, you’re faking SVN and you’re actually versioning your files in TFS?
Hard to believe, but yes that is what it is. We use TFS because the bulk of the work is in MS tools but the database is Oracle. We prefer to keep the db model in the same repository as the code for obvious reasons. It actually works pretty well and we would be sad to see it stop working. This is the link to the TFS/SVN component:
http://svnbridge.codeplex.com/
If this is something you can’t support, we hope that you guys test against the new git capabilities in TFS 2013 because that will also be an option for us when released.
Thanks!
In the AppData there is a large (30Mb) all-resources.dat file. Wondering what that is, doesn’t seem like it was present in 3.2.2. My guess is its part of the new Framework, all attempts at googling returns reference to NetBeans…
The real question is, can I move it? AppData is synced by my companies (minute) backup and 30Mb is too much for it to handle.
If you move it, it will just get recreated at startup. It’s a cache file for the netbeans framework. It’s not a critical file, so if it’s not being backed-up, it’s not a big deal. Your IT folks can black-list if that would help?
https://docs.google.com/file/d/0B-s2QpIpATISR29oekdJRlM0VTQ/edit?usp=sharing
Hello
When I run a script F5, I have no screen output.
And I get the message: SEVERE 141 0 oracle.ide.controller.IdeAction error during handleEvent action on ‘Run Script’ (id = 186).
None of the attached controllers handled the action ..
java version “1.7.0_25”
Java (TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot (TM) 64-Bit Server VM (build 23:25-b01, mixed mode)
—
Oracle IDE 4.0.0.12.27
Java Platform (TM) 1.7.0_05
Versioning Support 4.0.0.12.27
Hmmm, does the same script work in version 3.2.2.20 – or is this ALL scripts?
Can you run in debug mode and get the full log?
Hello Any script has the same behavior and worked in previous versions. Even a select sysdate from dual does not have output.
Are we going to see a 4.0 download for “other” platforms like 3.2 has available anytime? I run Ubuntu desktop, an RPM isn’t really useful to me…
Just grab the Windows ZIP downlaod (I believe that should work just fine) – but yes, you’ll see the other platforms added. And PROBABLY a Windows w/64 bit JDK. Stay tuned.
Duh. Yep, that works fine. Up and running on Ubuntu 12.1. Thanks.
Table data is not displaying if it have CLOB/XMLTYPE field
Yes, a known bug we’re working on now.
Has above bug been fixed for not displaying CLOB data. I am facing slowness when I am trying to fetch rows containing CLOB data. As soon as i selectively chose other columns, output is coming fast.
Hello Jeff,
Can you run this query as such in sql developer 3.2.20.09 and 4.0.0.12. (just do ctrl+enter NOT F5)
you can see the output in 3.2 but not in 4.0
select table_name,column_name,
dbms_xmlgen.getXMLType( ‘select count(‘||column_name||’) from ‘||table_name )
from user_tab_cols
where table_name in (‘EMP’,’DEPT’)
and column_name =’DEPTNO’
Yup, we know XML is busted in 4.0. It’s the biggest priority bug we have to address before we can release the product officially. Stay tuned…
I am using sqldeveloper EA1 version, but has an error, because when I connect to a database the IDE displays a dialog box with the error, but then I never see the connections available, I would like to know is when it leaves the final version or next EA2 for download?
We’re readying EA2, but
>>but has an error, because when I connect to a database the IDE displays a dialog box with the error
What’s the error? We can’t fix the problem if we don’t know about it π
can you give me an email to send you a screenshoot with the error?
[email protected] or just put the text of the error message here, whatever’s easier
I can’t setup my SVN repository (same config like in sqldev 3.2).
——-
Repository:
http://svn.rz.wdr.de:9880/oracle
TestMessage:
svn: E160013: ‘/oracle’ path not found: 404 Not Found (http://svn.rz.wdr.de:9880)
——-
same config works fine in sqldev 3.2.
Can you report this to the forum? I only know enough about SVN to get me in trouble…
Everything running extremely good in the new version but it seems order of magnitude slower with large SQL queries. Every now and then I need to run a bunch of queries that are 6-7K lines long (each); it takes forever between I paste such a query into the SQL worksheet window and I can execute the query (“forever” = some 40 seconds, more or less). In 3.2 it was some 2 or 3 seconds.
Any ideas?
Hmm, let’s try this. Go into Tools > Preferences > Code Editor and disable the Semantic Analysis Info Tips, then try again.
Disabling semantic analysis info tips helped a bit (thanks!) but the response is still some 15 seconds (as opposed to v 3.2 – less than a second, just checked a moment ago).
Any other bells and whistles to disable, to gain some responsiveness?
Could you share your file with us? Email me at [email protected], thanks.
I’m seeing this too (in fact, it’s what brought me here).
Big queries (1000+ lines) make the editor incredibly slow, to the point that it’s unusable. Typing is slow. Find+Replace is so slow it looks like it hangs SQL Developer (but actually doesn’t).
Oh, and I’ve disabled all the option in the “Completion Insight” section. It helps, but it’s unbearably slow.
Wohoo!
It’s fixed in EA2!
I’m testing it on my Fedora 19, looks fine for now. Please extend the linux support, the RPM package is the only way to install it.
Hi Adrian,
I’ve noticed that you are using fedora 19 – I’ve installed sqldeveloper 4 + Oracle JDK 1.7 and I’m not able to run it without sudo.
Did you manage to start sqldeveloper without sudo?
Thanks,
Boris
Hi Boris,
I’m using OpenJDK 1.8 and it works directly from the kde menu. I had to run from the console the first time and update the /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf file adding an option to use with a JDK. But I never used sudo. Just for install the rpm.
Maybe is a permissions issue on your OracleJDK.
Hi Adrian,
Thank you for the reply. I’ve hoped that you were using Oracle JDK… Strange… I’ve tried every possible IDE (Netbeans, Idea, Eclipse…) with my installation of JDK and worked perfectly. I have issues only with Sqldeveloper 4 EA1 and JDeveloper 12c…
Anyway, thank’s again for the reply.
unset GNOME_DESKTOP_SESSION_ID
Hi Boris.
You solve the problem?
Magic! Thanks Natividade, i have no idea why, but ‘unset GNOME_DESKTOP_SESSION_ID’ did the magic π
i could kiss you Natividade!!
yeah, it’s like you’re across the other side of the world or something!