Top 60 Oracle Blogs

Recent comments

August 2011

Oracle OpenWorld...

I'll be presenting at Oracle OpenWorld again this year. These are the session's I have scheduled right now:

Session ID: 14124

Session Title: General Session: What's New and Improved and Coming in Oracle Application Development

Venue / Room: Marriott Marquis - Salon 9

Date and Time: 10/3/11, 11:00 - 12:00

Session ID: 14120

Session Title: Five Things You Didn't Know About SQL

Venue / Room: Moscone South - 103

Date and Time: 10/4/11, 17:00 - 18:00

Session ID: 14643

Session Title: SQL Tuning Expert Roundtable

Venue / Room: Moscone South - 103

Date and Time: 10/5/11, 11:45 - 12:45

Session ID: 14122

Session Title: Five Things You Didn't Know About PL/SQL

Venue / Room: Moscone South - 103

Real World followup...

I have just returned from Scotland and Germany where we did two more 'Real World' days. The turn out was great and the audiences were fantastic - lots of really good questions.

If you would like to hear about the session from an attendee - listen to this podcast by Peter Tran, Senior Performance Lead with PROS Revenue Management as he shares his thoughts and experiences from the IOUG’s Real World Performance Day.

MIN/MAX Quiz (Funtime)

At my work I’ve recently introduced a little “Question of the Day” for my fellow DBAs, hopefully to pass on a few interesting little titbits of information and have a bit of fun along the way. I was going to just write a blog article on the following topic of how Oracle deals with MIN and [...]

Reading Active SQL Monitor Reports Offline

Active SQL Monitor Reports require some files from the Internet to render the report in the browser. That’s no big deal if you have an Internet connection, but what if you do not? Generally if you load an Active SQL Monitor Report without an Internet connection, you will just see an empty page in your browser. There is a little trick I use to work around this issue — it’s to have a copy of the required swf and javascript files locally. Here is how I do that on my Mac assuming a couple of things:

KEEP Pool – What is Wrong with this Quote?

August 28, 2011 The book “Oracle Database 11g Performance Tuning Recipes” is out of the alpha stage – if you bought the alpha version from Apress, you should now be able to download the finished book.  I am currently reviewing the book review notes that I started collecting when reading the alpha version, so that [...]

Big Numbers

It’s hard, sometimes, to get an instinctive idea of how big a “big number” really is. I’ve just heard a brilliant description of a billion (American style: 109) that really gives you a gut feeling for how big the number is:

If you owed someone a billion dollars, and paid it back at the rate of $1 per second – how long would it take to pay off the debt (and don’t even think about the interest accruing) ?

The answer is 34 years.

The way I read it, that turns a big number into a number that’s small enough to comprehend but big to feel enormous.

Censorship: A confusing subject…

I used to be totally against any form of censorship, but as I’ve got older and I have two young nephews I find myself becoming a bit of an old fuddy-duddy about it. I kinda want to protect their innocence as much as possible.

When I’m in the car with my nephews and the news starts I try to flick to a CD to avoid the talk about sex, drugs, rape and murder. Call me a coward, but I want to avoid the barrage of questions on those subjects and the whole can of worms they will open. I remember one such occasion when nephew number 1 asked me what they meant by, “found her body in a ditch”, after listening to the news on our national radio station (Radio1). Shudder…

I kinda like the idea of everyone taking responsibility for themselves on the censorship front. Having said that you can’t be with them 100% of the time etc.

So now on to the item that prompted this post…

My favorite advert at the moment is from Google. It’s one of those generic, “Use all Google products because they are hip and so by extension, using them makes you hip!”, type adds. Why do I like it? Purely because of the music. It’s a track called Traktor by Wretch 32, which I love. Why did it prompt this post? As with most hip-hop songs is contains some adult language and themes. So what did Google choose to censor? The words in bold were blanked in the add.

“My lifestyle’s terribly wild, but you’ll never catch me on the Jeremy Kyle show”

“Explosive, terrorist style. Don’t think I’m a blow I’ll get you therapy now woah”

“I ride this mothafucking beat like a tractor. I ride this mothafucking beat like a train”

“Zoom zoom down the rabbit hole. More women more alcohol here”

So “Jeremy Kyle” is censored, which I can understand because his show is truly worthy of the “Jeremy Vile” nickname. The word “terrorist” is censored, which seems a little odd to me. The song is not promoting terrorism, so it hardly seems worth messing with. What is surprising is that “mothafucking” (not my spelling) is not blanked. Well to be fair they do play some traffic noises over it, but it is still clearly audible in the chorus. Seems a little strange for an add that runs throughout the day, especially since this was blanked on the radio edit of the song. As for the last quote, I assume somebody at Google understood what that meant before they OKed it in a national advert right? :)

Censorship is a very tricky subject, because as this advert shows, we all have different opinions on what should (if anything) be censored.



Friday Philosophy – Tainted by the Team

A while ago whilst working on one project, a colleague came back to his desk next to mine and exclaimed “I hate working with that team! – they are so bad that it makes everyone who works with them look incompetent!”

Now there is often an argument to be made that working with people who are not good at their job can be great for you, as you always looks good in comparison {it’s like the old adage about hanging around with someone less attractive than you – but I’ve never found anyone I can do that with…}. It is to an extent true of course, and though it can seem a negative attitude, it is also an opportunity to teach these people and help them improve, so everyone potentially is a winner. I actually enjoy working with people who are clueless, so long as they will accept the clues. You leave them in a better state than when you joined them.

However, my friend was in the situation where the team he was dealing with was so lacking in the skills required that if you provided them with code that worked as specified, which passed back the values stated in the correct format derived from the database with the right logic… their application code would still fall over with exceptions – because it was written to a very, very “strict” interpretation of the spec.

In one example, the specification for a module included a “screen shot” showing 3 detail items being displayed for the parent object. So the application team had written code to accept only up to 3 detail items. Any more and it would crash. Not error, crash. The other part of the application, which the same people in the application team had also written, would let you create as many detail items for the parent as you liked. The data model stated there could be many more than 3 detail items. I suppose you could argue that the specification for the module failed to state “allow more than three items” – but there was a gap in the screen to allow more data, there was the data model and there was the wider concept of the application. In a second example, the same PL/SQL package was used to populate a screen in several modes. Depending on the mode, certain fields were populated or not. The application however would fail if the variables for these unused fields were null. Or it would fail if they were populated. The decision for each one depended on the day that bit of the module had been written, it would seem. *sigh*

The situation was made worse by the team manager being a skilled political animal, who would always try to shift any blame to any and all other teams as his first reaction. In the above examples he tried to immediately lay the blame with my colleague and then with the specification, but my colleague had managed to interpret the spec fine (he did the outrageous thing of asking questions if he was not sure or checked the data model). Further, this manager did not seem to like his people asking us questions, as he felt it would make it look like they did not know what they were doing. Oddly enough they did NOT know what they were doing. Anyway, as a consequence of the manager’s hostile attitude, the opportunity to actually teach the poor staff was strictly limited.

That was really the root of the problem, the manager. It was not the fault of the team members that they could not do the job – they had not had proper training, were unpracticed with the skills, siloed into their team, not encouraged to think beyond the single task in front of them and there was no one available to show them any better. The issue was that they were being made to do work they were not able to do. The problem, to my mind, was with the manager and with the culture of that part of the organisation that did not deal with that manager. He obviously did not believe that rule one of a good manager is to look after the best interests of your team. It was to protect his own backside.

But the bottom line was that this team was so bad that anything they were involved in was a disaster and no one wants to be part of a disaster. If you worked with them, you were part of the disaster. So we took the pragmatic approach. When they had the spec wrong, if we would alter our code to cope, we would alter our code. And document that. It gave us a lot of work and we ended up having a lot of “bugs” allocated to our team. But it got the app out almost on time. On-going maintencance could be a bit of an issue but we did what we could on our side to spell out the odditites.

I still know my friend from above and he still can’t talk about it in the pub without getting really quite agitated :-)

I want to be a simplifier – thanks Steve Jobs

Any intelligent fool can make things bigger and more complex. It takes a touch of genius – and a lot of courage – to move in the opposite direction.

                                             Albert Einstein

I just turned up the short blog/article below on Steve Jobs. Steve Jobs has always been an inspiration for me even if I was a bit  jealous at times of Apple. Apple never interested me as a work place because for one I didn’t feel I had the experience to stand out at Apple and even at 21 years old when I graduated in 1988, 4 years after when Macintosh came out, I felt Apple was already too big be for me to make a difference especially when they attracted the best and the brightest designers. I wasn’t a designer. I wasn’t a code geek either. I wasn’t even a computer scientist for that matter. I never knew what I was. But now I know – I’m a simplifier or at least that’s what I want to be. I want to make things easy to understand and I want make things that engage the user to understand.  Thanks to Steve Jobs  who crystallized this insight about simplification and to the years of inspiration.


John Sculley on Steve Jobs:

Steve said, “If I asked someone who had only used a personal calculator what a Macintosh should be like, they couldn’t have told me. There was no way to do consumer research on it, so I had to go and create it, and then show it to people, and say now what do you think?”

A friend of mine was at meetings at Apple and Microsoft on the same day. … . He went into the Apple meeting (he’s a vendor for Apple), and as soon as the designers walked in the room, everyone stopped talking, because the designers are the most respected people in the organization. Everyone knows the designers speak for Steve because they have direct reporting to him. It is only at Apple where design reports directly to the CEO.

Later in the day he was at Microsoft. When he went into the Microsoft meeting, everybody was talking and then the meeting starts and no designers ever walk into the room. All the technical people are sitting there trying to add their ideas of what ought to be in the design. That’s a recipe for disaster.

He’s a minimalist and constantly reducing things to their simplest level. It’s not simplistic. It’s simplified. Steve is a systems designer. He simplifies complexity.

- John Sculley


“If I’d asked my customers what they wanted, they’d have said a faster horse.’” – Henry Ford*
* thanks Robyn, from: We’ll miss you Steve



Finding non-default configuration settings in SQL Server

In our Remote DBA practice, we frequently perform comprehensive system reviews for our customers on their database services. Among the things we always check for are non-default settings for the database software. We want to validate that any non-default setting is set that way for a good reason, and that any setting that is default really should be that way.

In Oracle, this is easy.  The gv$parameter view has a column, ISDEFAULT, that allows a simple SQL query to show which settings are set to non-default values.

It’s not so easy in SQL Server.  There is a view, master.sys.configurations, but it doesn’t have a way to tell if the setting is default or modified or anything.