42 responses

  1. Marko Sutic
    December 12, 2013

    This 4.0 version is much better than 3.2.
    I would like to emphasize (among other nice stuff) better performance, stability and better PL/SQL editor.

    Great work !! :)

    Regards,
    Marko

    • thatjeffsmith
      thatjeffsmith
      December 12, 2013

      Thanks Marko!

  2. SpaghettiPLSQL
    December 12, 2013

    Hi Jeff!
    I can’t enable/disable breakpoints (for debug) with the SQLDeveloper v4.
    The package is already recompiled for debug and the debugger works correctly in SQLDeveloper v3.
    Any suggestions ?
    Thanks
    A.

    • thatjeffsmith
      thatjeffsmith
      December 12, 2013

      I just tried and it works for me, what happens when you try to disable an existing breakpoint? I’m right-clicking on the breakpoint indicator in the gutter.

      • SpaghettiPLSQL
        December 12, 2013

        I tried from a different host (Oralce Linux 6.5) and it works perfectly. Still I can’t figure out why it doesn’t work on Win 7.
        Thank you anyway.
        A.

  3. Meghan
    December 12, 2013

    Congrats on the release!

  4. Arpod
    December 12, 2013

    Awesome! Congratulations on the release, gotta try it out tomorrow. Now I even don’t feel so bad for working on a weekend :)

    One question before I start, though: can I disable the extensions without breaking things now?

    • thatjeffsmith
      thatjeffsmith
      December 13, 2013

      Probably :)

      We found quite a few instances of features being cross-contaminated in extensions when they should have been in the main project…best example is probably disabling extension broke drag and drop from the tree to a worksheet.

      Where we found these, we fixed them.

      Does that mean it’s perfect now? Probably not. But if and when we find them, we’ll fix it.

  5. Scott Wesley
    December 13, 2013

    I look forward to finding the EA defects polished clean 😉

  6. Jeffrey Kemp
    December 13, 2013

    Downloaded and tried. It successfully brought my settings and connections across, but then when I tried to connect to a database that was not responding, it hung. I had to kill it; and now when I open it, all the passwords have been lost. Not a huge deal but rather inconvenient.

    • thatjeffsmith
      thatjeffsmith
      December 13, 2013

      You didn’t get a timeout for the ‘bad’ connection? How long did you wait before killing the process? (Not that I blame you!)

      If you wipe out the application settings folder/directory for the 4 install, and run the exe again, it should re-prompt/copy over the settings and connections with passwords.

  7. Marcel Lasaj
    December 13, 2013

    Hey gz on the release.
    Could you please implement ALT+C for Block Selection mode? Or at least customizable keyboard shortcuts.

  8. Gustavo
    December 13, 2013

    There is something highly annoying that hasn’t been fixed in this new version, or there is something that I am not getting: I have to deal with database connections that are interrupted every now and then, and when I try to reconnect to it using right click in the connection and disconnect or reconnect, it would try to do it in the Swing event thread (the pop up won’t go away). The sqldeveloper then becomes unusable for minutes until the connection error message appears.

    It is obviously wrong to run blocking code in the Swing event thread, but ¿is there something I can do to set the timeout higher so the wait time is tolerable (say 5 seconds)?

  9. Arpod
    December 14, 2013

    Tried it out. The first thing new SQLDev greeted me with was a ton of

    java.net.MalformedURLException: unknown protocol: sqldev.temp

    exceptions while migrating from an old profile. Good start… Well, connections seem to still be in place, so it’s ok (probably).

    Next, LAFs. It’s pretty disappointing that I no longer have an option to change the theme at least – I don’t like dark blue top menu background, it’s hard to see actual menu text, or package/table names. I understand that new framework discourages changing LAFs, but maybe it’s possible to give more control to users after all, at least in colors and fonts? I loved “classic” theme of “Oracle” LAF in 3.2, can I maybe hack my way through configs to set it again? :)

    And bug report regarding LAFs: “GTK+ ” laf refused to show connections with a folowwing exception:

    Failed to load a window
    java.lang.ClassCastException: oracle.dbtools.raptor.navigator.db.impl.ConnectionStoresTreeNode cannot be cast to oracle.ideimpl.explorer.ExplorerNode

    Next, it was a change to the worse. I went to a large table (16 mln rows) to see how SQLDev would perform querying it. UI seems a bit more responsive now, but I hit the same huge problem I had in 3.2. When I hit order by one of the columns, query hung up for good. It was an indexed column, and regular query – like [select * from (select * from tablename order by column) where rownum < 50] – works ligntning-fast, but judging by the popup, sqldev decided to fetch everything first and then order it. Since I don't want it at all, I click on "Cancel task"… and end up with a hung-up connection instead of cancelled query. Now I can't do anything – browse connection objects, open shared worksheets, see execution plans, work with another tables, etc. – nothing. The hung-up query doesn't show up in task progress, so I can't kill it. I can't even disconnect, because connection is busy! Furthermore, I can't even close SQLDeveloper, because connection is still open and can't be closed normally! The only ways out of this deadlock are either to launch another sqldev instance and kill the hung-up session, or to kill the sqldev process in the OS, and let's just say both ways aren't very good. Especially if I had some query written in open worksheets or unsaved changes in the packages. Same thing happened in 3.2 on a regular basis, except that ordering on indexed columns worked as fast as it should, and that connection reported that it's busy right away, not forcing me to wait for 15 seconds or so. Even
    more (it still gets worse, yes, I have a tester's blood :) ), when I tried to "find database objects" and selected the hung-up connection from the list, it hanged up my DE instead of simply adding search to the task list. I mean it – EVERYTHING stopped responding. I had to hop to the console and terminate SQLDev process from there to continue writing this post.

    So, maybe I'm doing something wrong, and "cancel task" is actually supposed to cancel the query, and not hang the connection? I hoped so much that it was a bug fixed in 4.0, but maybe problem's on my side…?

    Now, on a bright side. I LOVE the pl/sql editor improvements. Breadcrumbs(FINALLY!!!), insta-highlight on doubleclick, all the source functions in context menu, working variable renaming (incredibly useful when maintaining the debris-like sources of my predecessors), spec-body jumps, spec/body synchronization, even * expansion in cursors! It's really awesome! Still no "%rowtype" highlighting, nor child member insight for rowtype/cursor variables, though. If SQLDev supported insight for complex rowtype/cursor variables, I could work without any distractions now. Hopefully dev team is onto it.

    …OK, that was a long comment with a few questions. Can I get at least some of them answered, please? :) Along with a last question – I probably can come up with quite a few bug reports if I start actively using 4.0 since next Monday – where should I post them so they are more likely to be noticed by the dev team, and where should I search to see if such things already were reported? Thanks in advance.

    • thatjeffsmith
      thatjeffsmith
      December 16, 2013

      The framework we use deprecated the alternative skins in the Look and Feel department. It was either stay on the out of date framework and keep the themes, or upgrade and lose the themes. We are looking at adding support for more Java Swing Look and Feel setups though – so stay tuned.

      Bugs can ALWAYS be reported via My Oracle Support. Or, you can post a thread on the OTN Forums for SQL Developer. We do our best to monitor the Forums and response appropriately. For formal bug responses, you should always engage with Support.

      We don’t fetch and sort – we re-run the query with a new Order By. We NEVER sort on the client. Now, for a test I tried this with SH.SALES. I asked for a DESC sort on CUST_ID. I waited a few moments and was able to cancel the request successfully. Can you tell me about table you are working with? How many rows does it have for example? Can you try this also with SH.SALES just to see if you have the same issue?

      • Arpod
        December 16, 2013

        I remember you said that about LAF skins in some earlier posts as well, but still… Is there really absolutely no way I can change the dark-blue background color? I’m fine with modifying and/or recompiling the resource files if necessary. I like the new features too much to go back to 3.2, but my eyes hurt (not exaggerating). It’s a tough choice :(

        Got it about support, thanks.

        Now, about that “problem” table. It’s VERY large, 16,000,000+ rows and still growing. The column I’m sorting on is a first column in a 2-column primary key. If I execute the query “normally” in the worksheet, e.g. [select * from (select * from tablename order by column) where rownum < 50], it runs fast and smooth.
        There is another table like that, not as large (about 2M records, if I remember correctly), which also hanged on sort by indexed column, but I was able to cancel the task successfully.
        Other tables, that are not as large, seem to run sorting just fine. We have a few more large tables, but today I didn't have time to play around breaking by primary work tool :)
        I am willing to provide any feedback necessary to help you determine the cause. I run SQLDev Debian 6.5 x64, using jdk7 downloaded from Oracle website. If I run the sqldeveloper.sh from the console, it shows no exceptions or any other output when connection hanged on ordering, or when I tried to cancel the task unsuccessfully.

      • thatjeffsmith
        thatjeffsmith
        December 16, 2013

        What happens if you take the rownum < 50 out…cause we don’t use that.

        Check the explain plans between the 2, you might be surprised.

      • Arpod
        December 16, 2013

        Well… full-scan happens, obviously. I’m away from work so I can’t test it now, but I know that much. But if I use ordering on table, I want to see just the first rows 90% of time; why don’t you use /*+ FIRST_ROWS(100) */ or something like that? Granted, if I decide to scroll down to millionth row it’ll be slower than without the hint, but something is wrong with my head if I scroll down to millionth row after ordering :)

      • thatjeffsmith
        thatjeffsmith
        December 16, 2013

        I could ask you why you don’t use a WHERE clause to limit your resultset…we give you what you ask for. We don’t use hints in our queries, we let the optimizer choose the best path.

  10. Pushparaj
    December 16, 2013

    Hi Jeff,
    just downloaded the production release version Version 4.0.0.13 Build MAIN-13.80 and I see the ASH report viewer and AWR reports are disabled no matter what i do..
    the ADDM snapshots and reports are visible

    Tried the license option, still no avail…. Is this a known issue or have I missed something?
    Regards
    Raj

    • thatjeffsmith
      thatjeffsmith
      December 16, 2013

      Are the ASH Report Viewer and AWR nodes disabled or missing completely?

      The first thing I would try is installing SQL Developer again – extract the ZIP to a brand new directory and see if that fixes it.

      If not, I’ll step you though how to collect DEBUG info – or you can read this for the directions.

      • Pushparaj
        January 2, 2014

        Hi Jeff,
        Sorry I was on vacation for a couple of weeks, couldn’t followup

        ASH Report Viewer and AWR nodes are visible, however when I click through it, the toggle input / generate report / save to file and Open in browser icons are disabled. the Snapshots and ADDM nodes list all snapshots, however there are no snapshots under ASH report viewer and AWR-> AWR Report viewer

      • Pushparaj
        January 2, 2014

        Oh! and I did try extracting the Zip to a brand new directory as you suggested..

  11. Arpod
    December 16, 2013

    (Let me continue here, it becomes hard to read)
    >I could ask you why you don’t use a WHERE clause to limit your resultset…

    Well, I want to see last inserted rows. I think that the most “intuitive” course of action is to order the table by column (desc) with three clicks, not to write the query…

    As for hints, I can understand that, but AFAIK /*+ FIRST_ROWS*/ was designed for that specific purpose – to show the “topmost” results as fast as possible, resulting in very responsive interface. Maybe it’s possible to make this into one of the preferences?

    • thatjeffsmith
      thatjeffsmith
      December 16, 2013

      If you want to see the last inserted rows, use greater than or less than predicated based on your insertion date…the FIRST_ROWS hint works fine in your example, but guess what would happen if the user asked to export the dataset to a text file?

      • Arpod
        December 16, 2013

        But if my inserted date column isn’t indexed (and it isn’t), it would be just as slow as current ordering. That’s why I’m trying to order by sequence-based primary key column, and also to see when last inserts happened. I can’t just assume some random number that’s close to my current sequence value, right? I don’t think I’m the only one who makes such queries.

        >The FIRST_ROWS hint works fine in your example, but guess what would happen if the user asked to export the dataset to a text file?

        Yes, optimize one part and the other falls apart… Is it possible to distinguish whether the user asks to show data immediately or to get the whole result and try to base the hints on that information? I understand that it could turn out to be a difficult task, though…

  12. Arpod
    December 17, 2013

    Nevermind my question about colors, found it myself.
    For anyone else dissatisfied with default IDE colors: take a look into ide/themes/FusionBlue.jar, you can modify it to your liking.

    P.S. Sorry for being such a pain earlier, but I like SQLDev and want to make it better, and the best (or only?) way to do that is to continuously bug the developer team with complaints and suggestions, don’t you agree? :)

    • thatjeffsmith
      thatjeffsmith
      December 17, 2013

      No worries, keep it up :)

      I might just ask that you report any official problems to the forums. I’m just one person here…we have an entire team and community there.

  13. Arpod
    December 17, 2013

    I managed to hang the session by canceling the task again. This time I was prepared and had a duplicate connection which let me open a session report. So, that hanged session was actually marked “inactive”, nothing was in the longops, and the only thing I found interesting was this only record in the “waits” tab:
    SQL*Net break/reset to client 1952673792 0

    I went to our DBA to monitor the session “deeper”; going by resource consumption (huge nonstop IO), the query failed to cancel and continued the sequential reading, and cancel operation waited for it to finish.

    That’s where my knowledge ends, sadly. I have no idea whether DB or SQLDev is at fault. Sometimes query cancels just fine, sometimes it hangs like that. Our DB version is 10.2.0.3.0, if that’s of any help. Any directions/tips would be greatly appreciated; thank you in advance.

    • Arpod
      December 17, 2013

      Quick update: disregard the “nonstop IO” part; the session waits on “Application” for last half-an-hour, meaning (probably) that “SQL*Net break/reset to client” just waits for a reply from SQLDev.

      • thatjeffsmith
        thatjeffsmith
        December 17, 2013

        Try activating the OCI thick connection support in SQL Developer. There’s better listening points in the database over OCI than straight JDBC. You already know this, but 10gR2 is already quite old, and you should probably at least be on 10.2.0.4…

      • Arpod
        December 18, 2013

        Thank you, switching to OCI actually helped!
        The only thing I’m concerned about now is the implications of using OCI. Could you point me to some article explaining the difference between the current implementations, or just explain it? Will one or another be slower/more buggy/more feature rich?

        Also, I have found some differences in the process of work when query hangs and when it doesn’t; I’ll investigate some more and post a bug report to the forums. Hopefully our DBA will not kill me for my experiments before it happens :)

  14. Kirk Spence
    December 19, 2013

    Great site, Jeff. Many thanks.

    Was wondering if there is a way to document a PL/SQL package itself, and its global entities like variables, constants, types, exceptions, etc., that would be recognized and published by DB Doc? I’d like to document those items, in addition to the public modules comprising the package.

  15. Kirk Spence
    December 19, 2013

    Never mind, Jeff. Figured it out. Please delete my original e-mail.

    Cheers.

    Kirk

  16. iMedia Designs
    February 11, 2014

    This 4.0 version is much better than 3.2.
    Great work !

    • thatjeffsmith
      thatjeffsmith
      February 11, 2014

      I’ll pass along your compliment to the development team – thanks for the positive feedback!

  17. Olivier
    February 18, 2014

    Hi,

    It’s seems that it’s still not possible to edit a field with 4.0.13 ? The pen is there, a form open but no way to modify it ?

    • thatjeffsmith
      thatjeffsmith
      February 18, 2014

      Olivier,

      What exactly are you trying to edit? Table or view data? What is the datatype?

      Thanks,
      Jeff

  18. Alejandro Rodriguez
    May 1, 2014

    Top reason NOT to upgrade:

    Doesn’t work in Windows 7

    • thatjeffsmith
      thatjeffsmith
      May 1, 2014

      It works for me. What’s happening for you?

      SQLDev on Win7

  19. Suraj
    May 23, 2014

    Jeff,

    I started using Data model feature of SQL developer 4.0 and suddenly now when I try to open data model project or click on browse data model, CPU utilization goes to 100% and the memory usage is 1GB.. After 30 mins also, I don’t data mode browser.. Is there any configuration where I can change to increase the performance?

    • thatjeffsmith
      thatjeffsmith
      May 26, 2014

      Yes, you can give the JVM much more memory when working with larger designs. For very large designs you might want to set the jvm to have as much as 3 or 4GB of RAM.

Leave a Reply

 

 

 

Back to top
mobile desktop