Today is the day! We have new releases of both SQL Developer and SQL Developer Data Modeler.
I’ve been talking about v4.2 tweaks and enhancements for awhile now, and here’s the full list if you want to go back and review.
I’d like to share a few highlights though.
But first, FULL STOP. Go click that big button to the top and left.
Ok, let’s continue.
Formatter
I’d like to thanks the entire community for all the feedback, especially those of you who provided test code to exercise the new formatter. We made a few changes since the Early Adopter 2 update – tons of bug fixes, and tweaked the options a bit more based on your feedback.
With 4.2 now live in production, if our parser (and accordingly our formatter) doesn’t understand your code, we just won’t format it. In the EA’s we printed comments that showed the code bits we didn’t understand. For v4.2 production you should just see the parser ‘squiggle’ indicating where the code isn’t being interpreted correctly. Please share your code samples with MOS and the community if you think that’s a bug.
Some things of note:
- The preferences have moved AND changed from version 4.1. They’re now under the Code Editor page, and should also be simpler to understand now.
- There’s a ‘simple’ mode, and advanced mode, and an uber-expert mode.
- In advanced mode, you can format your code by hand, paste it into the preferences, and we’ll auto-detect how you want your code to look going forward.
- In uber-expert mode, you can tell the formatter exactly what to do to your code. Our developer Vadim has a couple of blog posts showing how to do this with examples.
Instance Viewer
Not a new feature – we first introduced the Instance Viewer in version 4.1. But we now offer a ‘Top SQL’ report. See your expensive queries, and drill down into them to see what’s going on or fix them.
The licensing prompts on the drill down report let’s you know that the SQL Tuning Advisor and Run time history reports require the tuning and diagnostic packs, respectively. If you don’t click on those reports, then there’s nothing to worry about.
Everything the Instance Viewer hits on the main panel is of the ‘no additional cost’ data dictionary views category.
Easy Peasy Password Resets
No more requiring an Oracle Client to change your database passwords when you’re not already connected. Maybe the most compelling reason to upgrade your end users.
More details here.
12c Release Two Enhancements
We support big-ole object names now.
And you can create Analytic Views too!
And the Multitenant option got a lot of upgrades. Among them, Application Containers. We support those too.
New to 12cR2? Did you know our VirtualBox VM was upgraded to 12.2? Also has APEX 5.1 and ORDS 309 for ya.
Speaking of ORDS…
You can now manage your RESTful Services directly in the database connection tree! This is much easier than setting up your ORDS Dev user connection. You’ll see the new REST item in the tree, and I talk about this here.
And the Modeler!
I think the biggest two changes of note are the ability to include your diagrams in your HTML and PDF reports AND the ability to now store your repository in GIT.
On the diagrams, you can ask to include them in your reports AND you can just directly print them to HTML/SVG.
And we get..
Et cetera and potpourii
This marks the end of the SQL Developer version 4.X releases. We’re moving towards a quarterly release schedule to synchronize up with our Database Cloud Services updates. So our next version will start with a 17 – for 2017, then quarter (1,2,3,4), then week.
This release also ships with the fewest known number of bugs…ever…for a SQL Developer release. We hate bugs. So we tried to kill ’em all. I’m sure you’ll find some more. Let us know. We’ll be able to release updates more frequently, getting you bug fixes that much faster.
Enjoy!
41 Comments
What is the number of the current/latest version for Oracle Developer ?
What comes after version 4.0 ? version 4.2 ? etc
4.0, 4.1, 4.2, 17.2, 17.3, 17.4, and now we have 18.1.
Copying an object name from the Connections panel becomes unavailable in 4.2.
Not sure it is an intended change or a bug. I have a screen snapshot but I cannot paste it here, so let me describe it. In an example, after I made the database connection, I expand Tables, and a list of table names displayed in the Connections panel. In the old version of SQL developer, if I click a table name and Ctrl-C to copy it, I then can paste this table name to anywhere. In new version 4.2 that we have just upgraded to, this copy/paste stops working. Instead, I have to right click it and open the Edit window and copy the table name from there. Is there an easier way to copy object name in 4.2 ?
It’s a bug.
I’ve been using version 4.2 for a few weeks now and I keep getting an error message saying the database connection has been reset and any pending transactions have been lost.
This occurs mainly when I attempt to look at any object in the object viewer.
This doesn’t happen with v4.1.5
Searches on the web came up with various causes including malware and a suggestion to add AddVMOption -Doracle.net.disableOob=true
to the sqldeveloper_nodebug.conf file. The theory being that this is caused by and Out of Bands error in the jdbc driver or on the network. Doing this made no difference.
I’m running this on Windows 7 64 bit against a local pluggable database (12.1).
It’s a bug. We hope to have it fixed SOON.
That’s good to know – I can stop searching all the forums now!
Hi, I’m using 4.1.5.21.68-x64 and installed version 4.2.
I put sysWOW64 into the path so that MSVCR100.dll could be found and … version 4.2 still failed to run.
Has anyone seen this behavior before?
What exact version of 4.2?
My version is: 4.2.0.17.089.1709
This is my path : Path=C:\Windows;C:\Windows\sysWOW64;C:\Windows\system32;C:\Windows\System32\Wbem;
The OS I’m using is Windows 7 64bit.
Interestingly, This works on my Windows 10 system
Is it just me or does anyone else have issues with Developer queries crashing when it hits a ‘SELECT’ statement that is commented out with the double dashes –? Removing ‘SELECT’ it runs cleanly. Surround the ‘SELECT’ with /*..*/ also runs cleanly. This is annoying if this is how it works now. It was nice to just do the double dashes that you could drop in or out of the front of the SELECT statement that you wanted for testing.
This is in 4.2 versus 4.1.
Can you share a complete example of what’s ‘crashing’ ?
with Vari AS
(
SELECT
to_date(‘2017-04-30’, ‘YYYY-MM-DD’) v_end
FROM dual
),
/*Get all active clients as of month end*/
actref AS
(
SELECT
cli_per_id AS paris_id
,inp_cli_id
,inp_association AS ref_id
,trim(fnc_get_gen_desc@parq(‘TREATREAS’,refe.ref_treat_reason)) AS ref_reason
,trim(inp_team) AS team_code
,team_name
,team_area
,FNC_GET_STAFF_NAME_FROM_CODE@parq(inp_staff) as primary_provider
,inp_from
,inp_to
–,monthly_report_team
FROM paris.vws_mpi_involved_prof@parq
INNER JOIN paris.vws_mpi_client@parq ON cli_id = inp_cli_id
INNER JOIN clgry_sr_rpt.lup_team ON trim(inp_team) = team_code
LEFT JOIN paris.vws_ref_referral@parq refe ON inp_association = refe.ref_id
CROSS JOIN Vari
WHERE team_category IN (‘HC’,’SWCM’) — HC teams – Abram confirmed via email saying SWCM should not be counted in HC counts Dec . There is only 1 active record now. Gets separated out below
AND inp_alloc_type = ‘MN’ –Primary provider
AND (inp_from IS NULL OR inp_from = v_end)
) –SELECT * FROM actref;
,
/*Get the most recent client grouping that occurred from the period onwards*/
— this gets all client groupings as some active clients may not have a client group
Client_group AS
(
SELECT DISTINCT
grp_per_id
,TRIM(grp_sub_group) as subgroup
,grp_from
,grp_to
FROM vws_mpi_grouping@parq
WHERE (grp_id, grp_per_id) IN
(
SELECT
MAX(grp_id) max_grp_id,
grp_per_id
FROM vws_mpi_grouping@parq
CROSS JOIN Vari
WHERE grp_group = ‘CG’
AND grp_from = v_end
AND (grp_per_id, grp_from) IN
(
SELECT
grp_per_id,
MAX(grp_from) max_grp_from
FROM vws_mpi_grouping@parq
CROSS JOIN Vari
WHERE grp_group = ‘CG’
AND grp_from = v_end
group by grp_per_id
)
GROUP BY grp_per_id
)
),
/* Join the the two subqueries together*/
HC_active_referral AS
(
SELECT
v_end AS report_month
,actref.paris_id
,trim(nam.nam_fore1) as client_fname
,trim(nam.nam_surname) as client_lname
,actref.ref_id
,actref.ref_reason
,actref.team_code
,actref.team_name
,actref.team_area
–,actref.monthly_report_team
,actref.primary_provider
,actref.inp_from
,actref.inp_to
,cg.subgroup
,trim(clgrp_lup.lcc_desc) as client_group
,cg.grp_from
,cg.grp_to
FROM actref
CROSS JOIN vari
LEFT JOIN client_Group cg ON actref.paris_id = cg.grp_per_id
LEFT JOIN paris.vws_lup_client_cat@parq clgrp_lup ON cg.subgroup = trim(clgrp_lup.lcc_code)
INNER JOIN paris.vws_mpi_name_current@parq nam ON actref.paris_id = nam.nam_per_id
) –SELECT * FROM HC_active_referral;
/*if the details are required run this lines of code below*/
–select * FROM HC_active_referral where team_name in (‘HCRT – GENERALIST’,’HOME CARE RESPONSE TEAM’) ;
–SELECT * FROM HC_active_referral where paris_id = 10130360;
,
/*compile the client counts for each team*/
totals AS
(
SELECT
team_area
,team_code
,count(*) as total
FROM HC_active_referral
GROUP BY
team_area
,team_code
) –SELECT * FROM totals;
/*Final result count*/
/*Only show the results for the teams that are current teams in the monthly report (‘MR’) */
SELECT
mths.fy_yr_nam_txt_1
,to_char(v_end,’YYYY-MM’) AS event_ym
,v_end as report_month
,monthly_report_team
,ta.team_area
,team_name
,ta.team_code
,NVL(total, 0) as total
FROM clgry_sr_rpt.lup_team ta
CROSS JOIN vari
LEFT JOIN totals t ON t.team_code = ta.team_code
LEFT OUTER JOIN mrt_analysis.DIM_PERIODS_DT_months mths on mths.mn_nam_yr_num = to_char(v_end,’YYYY-MM’)
WHERE monthly_report_team =’MR’;
First error is:
ORA-00928: missing SELECT keyword
00928. 00000 – “missing SELECT keyword”
*Cause:
*Action:
Error at Line: 48 Column: 26
which is at: ) –SELECT * FROM actref;
>>–SELECT * FROM actref;
That’s the BUG. Having the ‘;’ in a comment is tripping up the parser. We’ll have this fixed in a patch/update.
Thanks!
Thanks for the new release.
Hovering on star in order to expand all query columns in the projection does not work any more.
Bug or feature?
I just tried it, works for me.
select * from sh.sales, the * is squiggly underlined, mouse over, i get the expand * to: prod_id, … hover bubble.
Thanks for double checking.
It works for me in 4.1.2.20.64, but not in 4.2.0.15.260, nor the 4.2.0.17.079 … strange …
use the view > Log > Statements panel to debug – you’ll see bg parser queries we run when we ‘see’ your queries and we go out to get the columns.
Is there a way of turning of comparing subprograms. In 4.2 on large packages this seems to be running a lot and stopping me from editing code. Thanks
Preferences – Code Editor – Supported Gutter Navigation…and maybe also Supported Sync Spec and Body
There were no changes in this area from 4.1.5 to 4.2 though, that I know of.
Thanks Jeff, this is a huge help – I have to use OSD over a very laggy VPN and this is a great optimization!
Hey Jeff,
Thanks for the new release, I really like the new Formatter options!
On the other hand,are there any chance you will implement a vim-like keybindings for the Code Editor in the funture? Something similar to the vim plugin for IntelliJ editors.
Regards,
Daniel Nyeste
There are emacs bits in there, and I don’t think anyone uses them. I doubt we’ll be adding VI key sequences anytime soon. Did you see you can setup an external editor though? I did that with VIM actually.
Thanks for the quick reply! Yes, I’ve set up and use the external editor function already (thanks to your post), but it’s just … cumbersome.
Regards,
Daniel
we’re never going to be better than your favorite editor, so if you’re doing some serious type-y stuff, alt-tab
Oh don’t worry, your tool is also doing great work 🙂
Great to see SQL Developer 4.2. It appears not to include sqlcl. Did I miss something?
It’s there for me. There should be a sql.exe in your \bin directory.
Yes, Jeff. Sorry I missed it.
I still have the problem that sql.bat does not restore the previous codepage.
Edit the .Bat and add what you need?
Love the new versions … .apart from the DBA frontpage. I am simply not able to read the page properly ….. with the grey and light blue ? (age 56). Is it possible to custmize the font colors ?
Almost same problem with Apex 5 …. new and modern responsive …. but not user friendly
regards
Mette
There’s a CSS file in the install somewhere that you can probably find and futz with.
Thanks for the write up! Is there any walk through on how to use the data modeler with GIT? I have been doing this manually for a while outside of sql developer, and after playing with the new release been unsuccessful in using git inside sql developer.
Thanks!
Not yet, but it’s on my list. You should be able to set the svn server details to your git repo. I’ll get better instructions out pronto.
Thanks! I’m looking forward to it.
Anyone experiencing bug with linesize?
show linesize command outputs 1763 but the result displays only 72
Jeff, Are you sure about Modeler and Git? I’ve heard that it is not supported yet as SVN is supported i.e. from within the Modeler’s object comparison dialogues and it is not on the list yet. Are you saying that there is a workaround presenting the Git repository as SVN for the modeler? The only workaround I know is using https://subgit.com/ where the local check out is SVN and the remote repository is Git. If you know a more direct, better workaround, it would be great to hear about the steps to set up.
Exactly, subgit – follow the instructions here.