Implicit Statement Results and Extended Data Types in Oracle 12c…

Over the last couple of days I’ve put another couple of articles live. In this case they are both focused on easing migration from non-Oracle databases to Oracle.

It’s a little hard to get excited about either feature as I would not expect any straight Oracle shop to want to use them.

The implicit statement results will be a big bonus for SQL Server migration projects, and those trying to maintain similar APIs for Transact-SQL and PL/SQL, but I don’t see myself using this feature in preference to an explicit out parameter for my own code, for the reasons explained by Tom Kyte here.

My first impression of the 32K VARCHAR2 is I pretty much hate it. I’m very much of the opinion, if you need a CLOB, use a CLOB. I don’t like the lack of control of the LOB segment and I dislike loads of objects in my schema with system generated names. Of course, migration projects will want as little refactoring as possible, so it could be very useful there, which is after all the reason it was added.

I’m a little confused why the limit is 32K. It matches the PL/SQL VARCHAR2 now. It’s bigger than the maximum size of a VARCHAR2(n) in SQL Server,  but it is a lot smaller than the VARCHAR(MAX) from SQL Server. I’m thinking I may have missed the point? Maybe I’ll warm to them the next time I do a migration…

Of course, your opinion of any new feature depends very much on what you do on a day to day basis. I reserve the right to do a complete U-turn on this stuff if circumstances change. 🙂



Windows Blue (8.1) and Oracle Database 12c

Inspired by this article, I decided to download Windows Blue 8.1 and install it on VirtualBox. Once Classic Shell was installed it looked almost usable. 🙂

The Windows version of Oracle 12c is now available, so that seemed like the obvious thing to try next. That went really smoothly.


I’m bored with Windows now, so I’m off back to Linux. 🙂



Oracle Database 12c : Reality Check for Readers…

I shouldn’t really need to write this post, but recent events seem to indicate it is necessary…

Oracle Database 12c is new! The people out there writing articles can be broken down into three basic groups:

  1. Those people who have been using the beta product for over a year and really pushing it hard.
  2. Those people who have dabbled a little with the beta product, giving them enough knowledge to write some articles.
  3. Those people, like me, who got their first sniff of 12c when it was released a couple of weeks ago and are now on a steep learning curve.

Regardless of which group people belong to, we all got the final production release at about the same time. It is quite common for features to be pulled from the beta product and for minor API changes to take place, so even those on the beta program might have some re-learning to do.

So why write this post?

Well, I get the distinct impression, based on the questions I’m being asked, that people feel I’m in some way able to help them with 12c issues. I am categorically not a 12c guru! After two weeks of using the product I can safely say I know bugger all about it. Yes I’ve installed it a few times. Yes I’m trying to learn about it, but asking me for advice at this time is a bit like the blind leading the blind.

That’s not to say I’m not willing to try, but people have to be realistic. If you ask me about pluggable databases today my answer is going to be, “I dunno!”. Even after I release an article on it, I will have a fairly sketchy understanding of it until the wider implications of it start to sink in. Suffice to say, if you can’t find a 12c article on a subject on my website, it probably means I’ve not looked at it yet. 🙂

Over the coming months I will be writing a lot about 12c. I will make a lot of mistakes. I will go back and extend or rewrite articles as my knowledge improves. If you find mistakes, which you will, please tell me and I’ll endeavour to correct them. This is very much a learning process for me. It’s about my own personal development. If you find the articles that get produced during this process useful, that’s great. If you don’t, I’m sorry, but this is not about you!

OK. Back to learning new stuff… 🙂



Oracle Database 12c Identity Columns and New Column DEFAULT Enhancements…

My mission to learn 12c continues. I’ve been looking at the Identity Column functionality and enhancements to column defaults.

I know they are not sexy, but these are the sort of enhancements that make me love new versions of the database. Don’t get me wrong, the big changes are interesting too, but these little things make it for me. About 10 minutes after you start using them you almost forget there was ever a time when they weren’t possible. Remember the days before you could drop columns? 🙂

These new features resulted in a change to an old article.



Oracle Cloud Control 12c Release 3 Installation (EM12cR3)…

With all the excitement about Oracle Database 12c being released, you may have missed the release of Cloud Control 12c Release 3. It’s available for download from OTN. All the usual ports are available. This is the version you are going to need if you want to monitor 12c databases in your organisation.

I did a quick run through the Cloud Control 12c Release 3 installation yesterday on both OL5 and OL6. As I suspected, there is pretty much no change in the installation process compared to the previous release.

I haven’t tried an upgrade yet, so I don’t know how easy that is. Perhaps someone else can comment? 🙂

Note. Oracle Database 12c is not a supported repository database version, so you are still going to need Oracle 11g for this installation.



Top-N Queries and the Multithreaded Model in Oracle 12c…

A couple of new 12c articles have rolled off the press. Both of them small, but interesting to me.

These resulted in amendments to a couple of old articles.

I wonder how many people will start using the multithreaded model and still try and kill sessions on the operating system using the UNIX/Linux process ID? 🙂



WITH Clause Enhancements in Oracle 12c…

After doing a number of 12c installations, I decided it was time to write something new. I figured I’d pick something easy to start off with, so here is the first thing off the press.

Over the last year I’ve heard a few speakers talk about these enhancements, but I got myself into a right pickle while I was working through this. If you caught the first draft of this article you would see I made a complete mess of it and jumped to all the wrong conclusions. Having worked through it again with fresh eyes, it all became clear. Of course, if you didn’t see the first draft, then ignore what I said. The article has always been perfect. 🙂

I think I will carry on doing some of the simple stuff to build my confidence before I can tackle something big, like pluggable databases. 🙂



Update: Note to self. Searching the 11gR2 docs for “PRAGMA UDF” is unlikely to result in you finding this 12c feature. Who’da thunk it? Thanks to Tom Kyte for pointing me to the correct doc reference. I’ve altered the searches on my homepage to default to the 12c docs, so hopefully I won’t be such a Muppet next time. 🙂

OTN Tour of Latin America (Southern Leg)…

Hola (that’s all my Spanish used up).

Olá (and my Portuguese too).

The Oracle ACE program has approved my inclusion on the OTN Tour of Latin America (Southern Leg), so in about a month I will visiting:

  • Santiago, Chile
  • Lima, Peru
  • Montevideo, Uruguay
  • Buenos Aires, Argentina
  • Sau Paulo, Brazil

Apologies for the English spelling of names. 🙂

I did the Northern Leg of the tour last year and it was great fun, but incredibly tiring, so I’m starting to get the fear over this trip. I know I’m going to love it, but it’s going to be really hard work as well.

Can wait to meet everyone!