Search

OakieTags

Who's online

There are currently 0 users and 40 guests online.

Recent comments

Affiliations

Oakies Blog Aggregator

UKOUG 2011: Day -1

I missed the OakTable day because it was the 10th birthday party of nephew number 1, but I did make it back to Birmingham in time for the ACE dinner. Mark Rittman provided evidence of my presence here. I was already full of cake and trifle before I arrived, but the waitress didn’t seem to understand, “I’m not eating”, so I was *forced* to stuff myself again. :) Many thanks for the organizers of this event.

I mentioned in a previous post Oracle RAC was not for newbies. Although the commenters seemed to agree with me, a couple of people suggested I was being a bit elitist and if you read the manuals it is all fine. I found out last night that Connor McDonald is now presenting his “Year in Purgatory” talk at UKOUG. I saw this session in Perth and I can’t recommend it enough. As well a being a great show, it highlights just how difficult managing RAC can really be. If you have, do or plan to work with RAC you should see this session, then decide if I’m wrong about the complexity of RAC. Check out the changes to the agenda…

I better get off my ass and head down to the conference. It’s been a while since I’ve driven into the city center at this time in the morning. I hope the traffic is not as bad as it used to be. :)

Remember, I’ve got a session at 11.05 today. Once again, check the changes to the agenda.

Cheers

Tim…




My UKOUG 2011 appearances

I’m just sitting in the airport, waiting for my Birmingham flight and it’s probably time to mention when and where I’m hanging out too:

Monday

Tuesday

Wednesday

  • I’ll just hang out here and there – and might throw a secret hacking session (with beer) somewhere, so make sure you follow me on Twitter (@tanelpoder)

See you soon!

Gwen Shapira on SSD

If you haven’t seen Gwen Shapira’s article about de-confusing SSD, I recommend that you read it soon.

One statement stood out as an idea on which I wanted to comment:

If you don’t see significant number of physical reads and sequential read wait events in your AWR report, you won’t notice much performance improvements from using SSD.

I wanted to remind you that you can do better. If you do notice a significant number of physical reads and sequential write wait events in your AWR report, then it’s still not certain that SSD will improve the performance of the task whose performance you’re hoping to improve. You don’t have to guess about the effect that SSD will have upon any business task you care about. In 2009, I wrote a blog post that explains.

UKOUG: I’m now speaking on Monday…

A couple of slots opened up in the UKOUG schedule due to cancellations and a message came through the OakTable mailing list asking if anyone could fill them. Alex Gorbachev and myself stepped up to the plate.

This means I’m now speaking about Clonedb on Monday at 11:05 in the Media Suite. See here.

The downsides to this are:

  • I’m now up against Connor McDonald who is always brilliant, so I won’t get to see his talk and he’ll soak up all the attendees.
  • I’m also up against Greg Rahn‘s session on Real-Time SQL Monitoring. I saw this at OOW and it’s well worth seeing.
  • One of my Brummie mates wants to come and watch me present, which will make me nervous as hell, especially if he is the only person in the audience.

On the positive side:

  • It will be my first presentation at the UKOUG conference. Long story… :)
  • My Brummie mate will actually go to see Connor, which means there will be nobody in the room, so I can blog about how awesome I was.
  • The adrenalin rush associated with presenting will help to delay the inevitable illness I get at the end of the year when all my presentations are over. Maybe I will actually make it to the end of UKOUG this year…

So if you fancy coming along to heckle me on Monday morning, you know where I am. :)

Cheers

Tim…




Stored Outlines (Plan Stability) are an Enterprise Edition Feature? A Self-Conflicting Story

December 2, 2011 An innocent question was asked in an OTN thread regarding the availability of plan stability options in the Standard Edition of Oracle Database.  If we check the documentation for the latest release (11.2.0.x) of Oracle Database, we will find the following statement: “The use of stored outlines is deprecated in Oracle Database 11g [...]

Fasthosts : Your technical support isn’t technical or supportive..

The first draft of this post was rather explosive, containing many expletives and could probably have landed me in jail on some trumped up charges. This is the more moderate version.

To cut a long and boring story short, I made a change to my hosting package today, which suggested it was an administrative change, rather than something physical. The fact it transferred my whole site to another server is annoying, but if I had bothered to read the 3000 pages of T&Cs it would probably have become obvious.

The website was down for a little time, but the static pages came back pretty quickly. This made me think maybe my whole site had been moved to another server. OK. Brief glitch, but no major worries. Then I noticed my forum and blog were either giving “Server Error” or “Can’t connect to database” errors. A quick check with phpMyAdmin showed the mySQL databases were all fine and unchanged. So the pages were fine and the DBs were fine, but it wasn’t working? Now I started thinking it might be a network issue between the webserver and the DB server.

This is where I called Fasthosts technical support. I’m not going to go into the whole long an painful episode, but I would just like to list a few choice points that show how bad the “technical” support can get. The support person:

  • Didn’t seem to understand the difference between a web URL and an operating system path.
  • Told me I had just reset my SSH password when I had actually set up a new FTP user for her to use.
  • Told me that SSH doesn’t allow more than one connection attempt per hour.
  • Told me I had said FTP was unavailable, when in fact I had said it was fine all the time.
  • Wanted me to give them the FTP and the database passwords to “diagnose” the issue, when I told them the connections to these services were fine. Having dealt with them before I knew that in giving them these details they would just make a connection and say, “connection works fine”.
  • Told me the scale-up was administrative and didn’t affect my services, then later said it could affect my website for 24 hours because everything was being moved to a new server. When I suggested the OS file paths might have changed, she returned to the administrative-only stance. WTF?

At this point I had decided the only thing that could be a problem was if the OS path had changed (a few config files were referenced from a secure directory using the OS path, rather than a web URL). SSH was knackered also, so I asked if they could just connect to my account with SSH and do a “pwd”. This got escalated to an engineer????

In the mean time I did a reset of my SSH password, hoping that it might get me connected again. Trouble is the reset request can take up to 15 minutes to be processed. After about 10 minutes I was able to SSH the server again and did the “pwd” myself and sure enough, the OS paths had changed. I put the new paths in a couple of files and everything was working again. I rang back and closed the ticket…

I don’t mind that they use muppets to triage calls. I mind when they say things like, “Let me explain this to you”, in a patronizing tone, then proceed to talk complete garbage because they don’t understand the technology. I also mind when you ask a specific question, like “Can you just SSH to my account and tell me the result of the ‘pwd’ command”, you are bombarded with a whole bunch of crap and the sum total is the original question isn’t even placed on the ticket.

Support is a tough job, even when you know what you are doing, so why to these companies insist on using total dumb-asses? I know the answer. No need to tell me… :(

Cheers

Tim…




Friday Philosophy – The Worst Thing About Contracting

A while back I was asked by a friend to blog about being a contractor. In the pub last week my friend reminded me of this and that I had not obliged him. I will – think of this as instalment one Jason…

I’ve been a contractor on and off for 18 years. For anyone not familiar with the concept, it is where you are self-employed and you simply hire yourself out to a company for a period of time or to do a specific job. You generally have less job security than an employee and less rights and benefits – No holiday pay, no paid sick leave, no annual pay increase {OK, so that one is rare for employees too these days}, no training and generally the first out the door when the money gets tight. In return you get more money when working and a lot, lot less to do with office politics, HR, annual reviews and the like.

It is not for everyone but I like being a contractor. It gives me a broader degree of experience.

I like it apart from one main thing.

Recruitment Consultants. For every good one there are 3 bad ones. And for each bad one there are 5 absolutely terrible ones.

There are good recruitment consultants out there, some absolutely fantastic ones who do things like actually read CV’s, understand the business they are hiring into and can be bothered responding to emails and telephone calls. You might even find one who has a mental list of their clients and their requirements and will actively look to place a good candidate in front of those clients. Claire Green at GT-Consulting is one. There are others of course.

However, most do little more than scan the database of candidate CVs for keywords and send the first three found off to the client for them to do the actual work of seeing if they actually have the skills and experience required. It would seem most have no ability or interest in trying to work out who would be a good or bad candidate themselves, like it being the service they are supposed to supply. If you try and get in touch directly to discuss a role, to maybe ask some questions to save both you and the consultant’s client a wasted interview, many will not take your call {“Can I ask who’s calling?” Brief pause whilst they realise you are a candidate not a client company “Ahh, sorry they are out of the office today, they’ll call you back. Who were you again?”}. Only the good ones call you back. You will hardly ever be called back.

If you do speak to them, some will be your best mate – but can’t quite fake sincerity… Sadly, it is often obvious that they have no idea about the business. I had a chap a week or two back telling me I needed PL or SQL to do the role and when I queried if they meant PL/SQL they got tetchy with me. Another a while back was insisting I was not suitable as I did not have 10 years of Oracle 10. As I beta tested Oracle 10 for over a year and thus, with around 8 years’ experience at that time, was well ahead of the pack I suggested that maybe they needed to alter that requirement – or find someone who helped develop it at Oracle Corp…Again, some kindly advice was poorly received. OK, I was not kindly, I was tetchy too. He had stared off being my insincere best mate.

I could just be having a self-centred moan of course, in that the recruitment consultants don’t realise how great I am ( :-) ) and find me lucrative jobs – but I’ve also been the client and had to wade through dozens of utterly unsuitable CVs sent in from them. The last time was particularly awful as we were not able to offer a great wage (but we were happy to take people with experience of prior versions and train them up to the latest-greatest). Most CVs sent in had the words Oracle, database and administration on them but not together. Several lacked any Oracle at all. Every recruitment consultant I dealt with that time gave me the same spiel about having the best candidates on their books, how they vetted everyone and sent only the ones with the best match of skills. They must have been telling a miss-truth about at least one of those claims as there was little match with our requirements for an Oracle DBA.

So, I really like contracting but not the dealing-with-agents bit. Oddly enough, any discussion with other contractors or managers who hire nearly always shows that my feelings are widely shared…

I’ve been thinking about doing this post ever since I started blogging but I didn’t – because many jobs are only available via recruitment consultants. Insulting them is not going to help me get put forward for jobs. However, last time I was mouthing off about Satan’s little Imps in the pub and how I had never done a Friday Philosophy on the topic, due to the fear of the consequences, one of the guys pointed out I was an idiot. Most recruitment consultants can’t even be bothered reading your CV so they are not going to go check out someone’s technical blog! {and Neil has just beaten me to posting about it and how they always ask for mostly irrelevant industry experience}. Any who do are going to be firmly in that rare Good category. I’d go as far as to say that any recruitment consultant who is reading this is in the top 5% of their field. Nice to talk to you again, Claire…

to_char()

Here’s an odd little detail about the to_char() function that happened to show up in a little demonstration code I used to create some data for last Friday’s quiz night.

When generating test data I often rely on doing things with rownum, and one of the thngs I do quite frequently is turn it into a character string. Nowadays I usually use the lpad() function to do this conversion because that lets me specify the defined length of the resulting column. But last Friday, rather than starting from scratch with my standard template script, I created my test case by cloning a script that I’d written in 2003 and the script had used the to_char() function.

So here’s a simple script to create a little table of character data, creating each column in a different way:

create table t as
select
	rownum				id,
	lpad(rownum,5)			lp5,
	rpad(rownum,5)			rp5,
	cast(rownum as varchar2(5))	cvc5,
	cast(rownum as char(5))		cc5,
	to_char(rownum)			tc
from
	all_objects
where
	rownum <= 12
;

And here are the results of a describe followed by a select:

SQL> desc t
 Name                          Null?    Type
 ----------------------------- -------- --------------------
 ID                                     NUMBER
 LP5                                    VARCHAR2(5)
 RP5                                    VARCHAR2(5)
 CVC5                                   VARCHAR2(5)
 CC5                                    CHAR(5)
 TC                                     VARCHAR2(40)

SQL> select * from t order by id;

        ID LP5   RP5   CVC5  CC5   TC
---------- ----- ----- ----- ----- ----------------------------------------
         1     1 1     1     1     1
         2     2 2     2     2     2
         3     3 3     3     3     3
         4     4 4     4     4     4
         5     5 5     5     5     5
         6     6 6     6     6     6
         7     7 7     7     7     7
         8     8 8     8     8     8
         9     9 9     9     9     9
        10    10 10    10    10    10
        11    11 11    11    11    11
        12    12 12    12    12    12

12 rows selected.

As you can see, lpad(), rpad() and cast() allow you to specify the column length you want in the table definition. Cast() pads on the right (where necessary) with spaces, as does rpad() – although you can specify a padding character with rpad() and lpad(). Lpad() pads on the left (and it’s the one I use most frequently because it can be convenient to see the character representations sort in numeric order – sometimes I use ’0′ as the padding character).

The “trap” comes from to_char() which results in a column declaration of varchar2(40) but doesn’t do any padding, of course. It’s not much of a trap, really; but when you’ve got into the habit of expecting your character strings to take up some space and see the varchar2(40) in the describe and assume that every string has been padded to 40 characters, it’s easy (and very annoying) to waste time trying to work out why the arithmetic is wrong. It was interesting to note that one of the people offering an answer to the question did exactly what I had originally intended to do, viz: sest up my varchar2(40) to hold 40 characters.

Footnote: it’s crossed my mind that the size used for the column declaration might depend on the NLS settings, and could be affected by the default character set, locale, and use of separators – but I’ll leave that investigation to any readers who have a little spare time.

Ready for UKOUG

Yes, I know the technical content has been non-existent recently but it's conference season and I've started my trip to UKOUG already, despite the fact Birmingham is only about an hour away on the train from my new home! So although a fun weekend in Edinburgh awaits, celebrating a couple of important birthdays before I head into the utter chaos of conference, a quick post seems a good idea. (Train journeys do that to you ...)

I'm very excited about UKOUG this year. It only occurred to me when I was looking back through some old mails to dig out some details that last year hadn't been one of my happiest UKOUG experiences. I don't remember thinking it was that bad and my blog post seems fairly stoic in retrospect, but ....

- The weather in Britain was horrible and I only just managed to make it to Birmingham after a long wait. To give that some context, it took me about as long to get to UKOUG last year as it did to OOW in San Francisco this year ;-) Others who I'd hoped to see didn't make it :-(

- My abstract wasn't accepted so I wasn't presenting which meant a little less pressure but a lot more expense for the conference registration, so I only spent 2 days away from work to make up for that.

- My skin condition was an absolute nightmare and it was only when it started to get better in the first couple of months of this year that I realised just how much it had been getting me down. But I do remember one particularly chilly afternoon trying to find something, anything that would make me more comfortable*.

- Whilst pointing out that one of those things was Baby Oil is Too Much Information (really, I was happy to take anything that Boots had on offer!), it is funny because the combination of that and too much alcohol combined to create a situation where I found Alex Gorbachev tieing my shoe-laces for me one morning!

- Oh, and lest I forget, there was the panto :-( But, on the good side, a lot of money was raised and it was fun really.

I really didn't remember it being an unhappy experience but, looking back, it was probably my worst UKOUG experience.

Well, fake positivity pushed to one side (as usual), I've got a good feeling this will be one of my best.

- I'm presenting a couple of times although part of me is unhappy but unsurprised that the presentation I really care about and think is important will be delivered to 3 people (and I'm including myself) at 9:00 after the party and the one I have almost no confidence in is going to be in Hall 1 immediately before Cary Millsap! Maybe I'm the worst judge of these things anyway, judging by this blog post and particularly the comments, but I've now started to worry about the SPM presentation more than I was. (See what happened there - I tried to be positive for a bit and it didn't work ....)

- I'm actually going to be presenting 3 times now as this will be the first time a few of the Oak Table Network members will be attempting a new approach loosely based on the TED talks called OAK Talks. Each lunchtime, 5 different presenters will be speaking for 10 minutes each on a subject of their choosing with no slides allowed. I decided on 'You Probably Don't Need Exadata'. Whether I'll be able to distill 18 months of whining down the pub into 10 coherent minutes is another matter ;-) These will be held in the Unconference area at lunchtime on the three main conference days. I've seen some negative comments on Twitter to the effect that the Oak Table have somehow nabbed the most prestigious lunchtime Unconference slot in advance, when it should be first-come-first-served, like other Unconferences so, just to expand on my recollection of how this came about when it was all organised very late in the day ... I was keen that we should give some of the Oracle visitors from the US as much presentation time as possible so we discussed doing some talks in a pub somewhere near the ICC. Then someone informed me there was an Unconference this year, which I'd been unaware of. So (and this is the important bit) rather than detract from that, steal slots that new speakers could use and potentially steal attendees away from the ICC, wouldn't it be a marvellous idea to do it at lunchtime when there weren't going to be any Unconference sessions (because, erm it's lunchtime). That way, we could add something new in a space that wasn't scheduled to be used and help advertise and draw attention to the Unconference! Whether you think that's good or bad, my own intentions were all completely positive and trying to support other speakers too, even though not everyone sees it that way. Sigh

- Did I mention? There's an Unconference! Sign-up in the Registration area - first-come-first-served which means that anyone can present and use a variety of styles or subjects that might not have made it on to the main agenda! I've always liked the Unconference at OOW, but attendances can be a little sparse, so give it your support.

- Just for a bit of variety, I won't be staying in the Jurys this year, but trying the Hyatt again after a long absence. It's a small change, but that can be as good as a rest, I believe. Not that I'm planning too much rest, you understand! ;-)

- The agenda, as always, is stunning although I may have to revise this after I've checked out what's happening at the Unconference.

- Although I won't be able to make the whole of Oak Table Sunday because of my travel plans, I'm looking forward to seeing three of this year's Oak Table Movember volunteers raise even more money through their final shave-off, which should take place at some point on Sunday - yet to be decided! Alex Gorbachev, Dan Norris and James Morle. Two of them even hit fund-raising targets that led to died facial hair! Come along and check it out of you can and, even if you can't make it, you can probably count on some photos ;-)

- Last, but definitely not least, there is another opportunity for anyone interested in a full day of training from Cary Millsap in Birmingham on the Thursday immediately after the conference finishes. If you want to know how much fun I had on the course, check out my thoughts here. Well worth your while if you can spare the day and seems great value to me. If I hadn't attended so recently, I'd be there myself.

A lot to look forward to then and I really can't wait to get going on Sunday and meet up with friends!

* But at least I was taking notes and learning lessons so started treatment a couple of weeks ago. More reason to be happy! ;-)