Search

OakieTags

Who's online

There are currently 0 users and 34 guests online.

Recent comments

Uncategorized

Oracle Developer awards…chosen by Developers

I was reading the following post today http://stevenfeuersteinonplsql.blogspot.com.au/2015/06/the-oracle-database-developer-choice.html

Oracle are planning on rewarding developers in the following areas:

  • SQL
  • PL/SQL
  • Oracle REST Data Services
  • Oracle Application Express
  • Database Design

 

At first glance I had a bit of a cynical view…it could easily be one of those things where if you come from a company that has massive investment in Oracle, then surprise surprise you float to the top of the heap. 

But this part of the post caught my eye:

The technology community

I remember on a flight to the UKOUG, I was doing what all presenters typically do on a plane.  They enter the cabin with the thought of "OK, I’ll spend most of the flight getting those slides just right".  Then…a set of broadcast advertisements, safety messages, hot face towels, exit row briefings, beverage services, coffee services, and before you know it you’ve burned 2 hours without touching the laptop…and then the meal service starts :-)

Anyway, I digress.  I eventually got the laptop fired up and started flicking through my slides for the 800th time – I suffer from that silliness where if I’m thinking "Hmmm, if replace with ‘database’ with ’12c database’", then this somehow will make a significant improvement for the attendees.  After a while the laptop gives me a little ‘beep’ telling me that battery is low.

Good new SQL tuning book

People ask me from time to time what are some good SQL tuning books. It’s a tough question to answer. There are some seminal books such as “SQL Tuning” by Dan Tow and “Cost Based Optimizer Fundamentals” by Jonathan Lewis, but these are advanced books  that few I know have actually read from cover to cover. If you are looking for practical SQL tuning cookbooks you might want something a little less advanced.  For a practical approach, I love “Refactoring SQL Applications” by #111111;"> Stephane Faroult which is an easy read, again, it’s not a straight forward SQL tuning book.

Upgraded and can’t see the tables you could before ?

If you take a look at the "alter user" command in the old 9i documentation, you’ll see this:

DEFAULT ROLE Clause

Specify the roles granted by default to the user at logon. This clause can contain only roles that have been granted directly to the user with a GRANT statement. You cannot use the DEFAULT ROLE clause to enable:

  • Roles not granted to the user
  • Roles granted through other roles
  • Roles managed by an external service (such as the operating system), or by the Oracle Internet Directory

Oracle enables default roles at logon without requiring the user to specify their passwords.

You never stop learning

My mate Scott Wesley, whose specialty is Apex, is currently at Kscope having the time of his life (well, I hope so Smile).  He tweeted this picture last night of his conference badge, mainly about the “I love Apex” buttons, but something else struck me.

scott_CIHbrDpWIAA1-Cc

 

Open Source is Free – Free like a puppy!

I’m at the ODTUG Kscope conference in Hollywood Florida and was just talking with some Oracle folks about Open Source (yes, Oracle has people devoted to working with Open Source tools) and I shared with them my general comments to students and colleagues about Open Source.

There are two kinds of free:

1. Here’s a free cup of coffee (or beer or soda…)

2. Here’s a free puppy

When accepting option 1 (free coffee) you take it, consume it, and enjoy.

When accepting option 2 (free puppy) you take it, you find a place for it to sleep, you take it to the vet, you walk the puppy, you feed the puppy, and oh-yeah — every once in a while the puppy might make a mess on your floor! You’ve made a commitment.
(I cannot take credit for the metaphor; I first heard it used by friend and colleague Jim Cody of Cardinal Directions – thanks Jim!)

Clearly, “free” is not always “completely free”

Performance #datachat

 

2920562020_e808543f0b_o

 

photo by #212124;" title="Go to Tom Woodward's photostream" href="https://www.flickr.com/photos/bionicteaching/" data-track="attributionNameClick" data-rapid_p="51">Tom Woodward

 Summary of responses to questions from Solarwinds #datachat back in the fall.

A new challenge…

After the last 16 years in the contracting and consulting world, for dozens of clients in Australia and other countries around the world, its time for a change of direction.  Whilst doing work with Oracle systems has always been (and continues to be) rewarding, I realised that a lot of the motivation for being at client sites was the sharing of information with developers and DBA’s at those clients so they could get the most out of their Oracle investment.  Similarly, its really cool to speak at conferences to let people explore the Oracle technology in perhaps way they had not thought of, and similarly, blogging about features and idiosyncracies that we stumble upon.  Whatever the medium (and even whatever the technology, whether it be Oracle or otherwise), the concept of an “IT community”, ie, people being keen to share, debate, and discuss has always been one of the things I like about my profession.

Optimizer curiosity in 12.1.0.2

For almost as long as I can remember, the optimizer has had a nifty little trick when you (in effect) try to combine two different usage models within a single SQL.  To explain that, I’m referring to the common scenario of: "If a bind value is provided by the caller, then use it, otherwise it shouldn’t limit the result set.  So we commonly see queries like:

select *
from MY_TABLE
where COL1 = NVL(:mybindvar, COL1)

[For ease of discussion, we’ll assume COL1 is not nullable]

Anyway, the nice little optimizer trick was to optimize the query to handle the two separate use cases, so you see a CONCATENATION step in the execution plan, and two FILTER’s, one to handle the case when the bind variable is null, and one to handle the case where it is provided. 

Cross-platform database migration

Last weekend, we faced one of the larger challenges that we’ve faced in my time at my current client.  Migrate multiple database systems, across multiples sites, all to new hardware (with new endian format), new database version (12.1.0.2)…and of course, try to do it with as small a disruption to the service as possible.

We are not a Goldengate customer, so pursuing a zero-downtime migration was not considered, and to be honest, even we had such facilities at our disposal, I think we would still have taken a small outage just to allow a "quiet time" to do verification checks etc.