Wednesday, 31 July 2013

Get SQL Developer 4 going in 4 steps

After a little hiccup on my part, I've started using SQL Developer 4 Early Adopter 1 on two computers I work on. It's pretty easy:
  1. Download SQL Developer 4 and it’s required JDK from:
  2. Unpack this to a folder on your system
    I used
  3. Install the latest JDK,  probably not accepting the new toolbar for your browser...
  4. Open by running - I tend to copy a shortcut on my quick-launch bar
    sqldeveloper.exeWhen prompted for location of java.exe the first time you open, I used
    C:\Program Files\Java\jdk1.7.0_25
    I also allow it to copy my existing preferences across.
Job done, let's see what interesting features I encounter. 
The slightly flashier icon
The slightly flashier icon
If you want to actively learn more, you must visit


Thursday, 18 July 2013

12c for Windows

Did you know that Oracle 12c has been available for Windows for a week already?

I've downloaded it, but let's see how long it takes to find a chance to install it, let alone play!

Wednesday, 17 July 2013

SAGE seminars at Insync13

It's officially less than a month before the 2013 Insync national conference series kicks off in Sydney.

The SAGE Computing Services team has a heavy presence this year. You can find Penny & myself scattered amongst all Australian states, with Kylie & Ray boosting the Perth schedule. Check out the Insync website for schedule updates.

Case Study: Redesigning core on-line systems in ADF JDeveloper
New Optimizer Features in Oracle 12c
Redeveloping a legacy application in JDeveloper ADF - a half day workshop

APEX in your hands: Lessons learnt from a tablet project
Reasons why you should upgrade your APEX environment

"Elementary my Dear Weblogic" - the Case of Spying on ADF

Oracle ADF for Newbies: Surviving your first project

We'll be posting further information about the workshops on the Sage website, but remember - you'll need to at least bring your laptop.

Keep an eye out for Eddie, too - he's working on something regaring ADF Essentials.


Friday, 12 July 2013

APEX rendering issues in IE10

I'm sure anyone who's tried to write an APEX application that works across the "big 3" browsers - Chrome, Firefox & IE will be familiar with the pain of rendering differences.

Especially when it comes to version differences across Internet Explorer.

Thanks to Trent in the OTN forum, I have this nifty tip if you find some rendering issues in IE10 using APEX that aren't present in 'normal' pages.

Ensure your page template has the meta http-equiv illustrated here
<!--[if (gt IE 9)|!(IE)]>  <!--> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  
Instead of
<!--[if (gt IE 9)|!(IE)]><!-->  <!--<![endif]-->
I found this improved rendering of (amongst now doubt other issues)
  • sliders rendered properly;
  • login form fields had expected width;
  • and the list template "Featured List with Subtext" rendered consistently.

Monday, 1 July 2013

12 new 12c features for developers

I haven't installed 12c yet because
a) I haven't had the time
b) my Linux skills aren't the best

What I have done though is read through some of the documentation in the New Features manual.

The APEX features are just regurgitating what's in 4.2, since that's what's shipped out of the box with 12c - but I always like to look through what's improved with SQL and PL/SQL.

No doubt many of you may have seen or read presentations on what's coming up as early as last year, but for those who haven't - here are some I've spotted that made the cut for 12c and I look foward to tinkering with
  1. PL/SQL function in the WITH clause. I think this may sometimes come in handy, and other times it will be abused and lead to some real ugly code. Performance will be interesting.
  2. Increased size limit for VARCHAR2 etc - no doubt people have been asking for this since at least 8i...
  3. dbms_utility.expand_sql_text - Recursively replace any view references with relevant tables. This would have been brilliant in a project I often visit where there are views upon views upon views.
  4. utl_call_stack - returns structured information about an exception stack. Tom Kyte has already blogged about this one, I'd suggest he's been pushing for something like this for a while.
  5. Sequences can be used as column DEFAULT. Yes. So very yes. Though again I will be interested in performance, since 11g's := my_seq.nextval was the same as selecting from dual.
  6. Default value on explicit null insertion - for those times where you really must have a default value in the column!
  7. Identity columns - full examples are scant, but looks interesting.
  8. row_limiting_clause - for top-N reporting, apparently an ANSI standard. This definitely needs exploring.
  9. Row pattern matching. Um, wow. Big data influences?
  10. Cross apply; Lateral clauses. From what I think is going on here, this could be mighty handy.
  11. SYS_CONTEXT sys_session_roles - role interrogation for current session - cool, and will be very handy. A little late for many Forms applications, though.
  12. TRUNCATE TABLE CASCADE - where is that sledgehammer?
I listened to an Oracle Magazine podcast recently talking about MySQL - I wonder if the collaboration going on here has influenced 12c features, because it sounds like the quality of MySQL is enhanced with Oracle IP.

Of course, if you're in Australia or would like to visit, the Insync13 national conference series already has a bunch of 12c presentations that span JDeveloper, Optimizer, Coherence, Weblogic and general features.