Wednesday, 16 May 2007

Oracle RDBMS Q&A with Doug Burns

In an ongoing series of articles, Chris Muir chats to Oracle blogger and well known UK presenter Doug Burns who maintains his slightly off-center Oracle DBA blog (check out the stuffed toys!?). Doug, who holds 9i DBA certification, has 16 years experience as an Oracle DBA and is a member of the expert Oaktable group. His opinions, insights and experience in the Oracle arena are held in considerable regard by the Oracle community.

Q) Let's start with the most important question, what's with the stuffed toys on your blog?

A) Well, I've had Tigger for years because Tiggers are wonderful things, aren't they? My sister was probably the original inspiration for that because she used to be Tigger-crazy. Then my mum bought me Flatcat as one of my Christmas presents five or so years ago and things have expanded steadily since then. They're all real, they all have their own personalities and there's much more chat about them around my house than I could justify psychologically. As for their integration into the blog, there's a slightly serious message in there that people can take themselves a little too seriously online. I'm also not the most photogenic gentleman, so I reckon a picture of Flatcat is more welcome than one of me.

Q) Now that we've cleared that up, what was your original reason for blogging about Oracle?

A) I was working on a Data Warehouse implementation and every time I googled for related information, I would find myself looking at Mark Rittman's blog, so he was the original inspiration. I'd been aware of blogs a long time ago, via The Guardian's IT pages, but thought they sounded stupid! Then I saw Howard Roger's and Niall Litchfield's blogs and when I noticed that my hosting provider offered a (rather poor) blogging tool, I thought I'd give it a whirl. Oh, and I was pre-Tom Kyte. Not by much, but that's *very* important ;-)

Q) How has the blog changed from your original expectations?

A) I actually thought I'd be writing about Oracle much more often. I may return to that idea one day.

Q) Can you describe your average working day?

A) Well, I've just started a new role with the Pythian Group in Canada and will be working from home in Edinburgh, so things are changing and tend to change with each new contract. Usually though, I'll get up at about 6:30 or 7 and combine getting ready for work with reading email and looking at blogs. Getting a laptop was a bad move because I can get online very quickly and stay online while doing other things. Even when I'm doing my ironing, I tend to have the laptop near by for when I need a break from ironing :-(

It would be fair to say that it's very unusual to leave computers alone for more than an hour or two, unless I'm out of the house.

Because I'll be working in a different timezone from Pythian head office, I expect my near future to be a day filled with overnight pages, as I try to stop the Canadian employees being dragged out of their beds.

Seriously, though, every site I work at is completely different to the others as far as daily activities are concerned.

Q) How did you first get involved in computing, and later the Oracle arena?

A) Oh, that's quite a long story – buckle up! When I was at school, one of my friends got a Sinclair ZX80 so we messed around with that a bit in BASIC. Then, the first Christmas after I left school, my mum and dad bought me a ZX81. As I was on the dole (unemployed) I would just sit in the house, playing around with this thing, hand-disassembling commercial games and taught myself Z80 assembly language. Eventually I stumbled into a job as a games programmer and stuck at that (somewhat unsuccessfully) for the next 3 or 4 years. Then I was on the dole again (this was Britain in the '80s, so I wasn't alone), then a spell working with a PC dealership, writing dBase III Plus and Foxbase programs for clients (I couldn't believe people got paid for something so easy!). This led to a job with a finance company writing some C and Clipper. While there, my team lead and I pitched an internal bid for a new direct marketing system, based on Oracle 6 and AIX on one of the just-released RS6000 servers and we were successful. That was in 1990 and I've been working with Oracle since then.

Q) Are there any skills you learnt in your earlier career that still assist you today and are sorely missed by new graduates?

A) Despite the fact that I never work at anything like such a low level these days (and it would be next to impossible given the environmental complexity of modern systems), a grounding in Assembly Language meant that I've always retained important basic concepts about how computer systems work. If I'd started from a very high level, using Forms for example, I would assume that everything 'just works' and take the underlying technology for granted.

Although I'm a bit insecure about it, I was probably lucky to be self-taught too. It took me longer to get there, but I didn't have to learn as many useless things to satisfy a college examiner. There are some things that I'm much worse at, through lack of formal training, but by the time most people had left college, I'd already written a couple of games and it would be safe to say I see computing as a vocation, not just the job that pays the most these days.

Q) Given your 16 years experience with the Oracle RDBMS, what do you think the strengths of the product are?

A) The fundamental architecture - transaction and concurrency model, backup and recovery techniques and, even if it can be frustrating at times, the optimiser. I think Oracle's RDBMS is a pretty impressive design that gets a lot of things right and whenever I don't know exactly how something works, it usually ends up working in roughly the way I would have guessed, based on my knowledge of other areas. i.e. It's reasonably consistent and stands up well to new extensions.

Q) And its weaknesses?

A) Not so much from a personal point of view but, like Unix, the fact that so much detail is exposed is both a strength and a weakness. I wouldn't want a 'self-managing database' because I think it's an impossible target, but there is a very steep learning curve and there are times when things are more difficult than they should be. That's largely based on watching new users struggling through courses, wondering why they need to understand so much.

Maybe Oracle XE will break down some of the barriers, but I still think you're going to need to understand how the damn thing works if you want to be a DBA

Q) Core-tech Oracle skills tend to be divided into DBAs and developers. Many (including the author in jest) like to point out the divide between the 2 groups. Any comments on this divide, its impact on a successful project, and why DBAs need a good whack on the head?

A) Even as someone who has also jokingly encouraged the divide, it is a bit of a nonsense. All of the best people that I've worked with or met in the user community tend to be a bit of a mix of both, I've done a few development jobs myself and came from a development background. I'd also put my SQL and PL/SQL skills up against any of the developers I've worked with.

Then again, those who lean towards being DBAs have always been the best! (Until that pesky Tom Kyte popped his head out of his cubicle.)

Q) Many DBAs are carefully avoiding any involvement with the middle tier software. Do you consider the administration of Oracle Application Server to be part of a DBA's role, and if not, who should be doing it?

A) It depends on the type of DBA and on the type of environment. For DBAs who are very technically-orientated, they could and should include it in their skills. I was involved in writing an App Server course at Learning Tree and, frustrating and bug-ridden though the product was, it's undoubtedly something to get your teeth in to, a server product with complexity to spare, so I think it's a good fit for the technical DBA. If however, you're a database design and minor maintenance DBA, then you've no chance of ever getting your head round App Server!

It also matters what type of site you work at. If you have separate Operating System, Database, Storage and Networks teams, then it probably makes sense to have a separate App Server support team because it requires equal levels of skill, time and commitment. If you're working at a smaller site, you're probably going to have to muck in and get your hands dirty.

Personally, I've found I never have the time to dedicate to it, but I'd like to do more.

Q) How have the management tools provided in Oracle 10g changed the DBA's workload?

A) Personally they haven't made much difference because I'm still a slave to the command line, I'm afraid. I have played around with the various management tools but the problem for most DBAs is that you're extremely unlikely to work at a site that uses 10g exclusively, so you need to work with the lowest common denominator when it comes to management tools. I think that might be changing slowly, though, if only Oracle don't change the product set too often – it makes it impossible to settle on anything.

Q) What do you consider to be the most useful database tuning tool?

A) I think AWR, ASH and ADDM are potentially the most useful database tuning tools but, again, it's difficult to focus on them because I don't just work with 10g databases and Oracle's licensing model doesn't help! As long as that's the case, event 10046 traces will always be useful but I also use Statspack regularly when I want to get to the bottom of a problem quickly. If that doesn't work, I usually end up using tracing.

Q) What is your experience of the adoption rate of ASM, and how do you see its future?

A) Interestingly, I've had two very different experiences in the space of the past month or two. I just left a big enterprise site in the UK and they won't be using ASM in the foreseeable future. They support hundreds of applications, all with their own storage requirements, and the SAN administrators aren't going to major on storage software specifically for Oracle, even though they have a lot of databases. Stability is another issue, so they'll rarely use a product before it's used widely. I realise that's a chicken-and-egg situation, but that's the way it works. Up until the start of January, I couldn't see ASM having any impact for years.

Now I've moved to a company that supports a lot of RAC installations on Linux and they use ASM widely, That's partly because of Oracle's Standard Edition licensing policy for RAC, that encourages it, and partly because they don't want to fork out for something like Veritas Clustering or Polyserve. I haven't been involved long enough to know how successfully it is, but I haven't heard any major complaints yet.

Q) Oracle RDBMS 11g announced with fanfare at the 2006 Oracle Open World marks another milestone in database technology. Do you think it's an evolution or revolution in database technology? Any specific features?

A) I agree with a lot of people that there isn't a great 'wow factor' about the release, but if the version control features work as advertised, I think they could prove very useful for the day-to-day drudgery of the DBA's life, particularly development DBAs, who spend a lot of time restoring and rebuilding test environments and running release scripts. Definitely evolutionary, though, but I have no problem with that. Revolutions are for kids Web 2.0 apps, not for your primary data store.

Q) Are there any features in Oracle that are under utilised in your opinion, by DBAs and separately developers?

A) DBAs – 10046 event tracing (still), resumable storage, parallel execution (for data loads and index rebuilds) (I had to include that one ;-)), dbms_scheduler/dbms_job. Let's face it, most of us, me included, use a fraction of what we've paid for.

Developers – if they're not dedicated database programmers, just about everything! Are there any features most developers *do* use? It may not be true of the people likely to be reading this, but I find that most developers don't have the first idea about the extensive functionality at their disposal for free.

Q) What areas do you believe are the biggest frustration for DBAs in maintaining Oracle databases and do you see 11g addressing this in any form?

A) One area that's an absolute nightmare is patch management. I've had this discussion with various people in the community and, whilst I understand why everyone talks about regular patch maintenance and I'm not arguing about the need for it, does anyone in their right mind think that a majority of sites are really patching all of their databases every quarter? Yeah, right. Until Oracle make patching much, much easier and less disruptive (OEM Grid Control looks promising), security holes are going to exist left, right and centre and the fact is that most companies are utterly dependent on their firewalls. Whether you believe that's adequate or not is for debate.

Q) From your blog on interviewing potential DBAs, you have views on the skillsets they require. What do you think makes a successful DBA in today's IT market?

A) Well, to start off with a facetious answer to your specific wording – the ability to lie effectively on your cv/resume. That seems to do the trick!

More sensibly, I value maturity above all else. When I say maturity, I suppose I really mean responsibility and it's absolutely nothing to do with age. When DBA teams are growing and the number of databases we support is growing even faster, there's no room for cowboys. All they do is screw things up for the entire team and ruin our reputation with developers and the business.

That, of course, is on top of them knowing the basic skills of the job well, which should be a given, but doesn't seem to be these days. Having to look everything up on Google before you do it is winging it, in my opinion. There should be some things you just know, because you are supposed to be a professional technician.

Q) Has the role and concerns of the DBA changed in the last 10 years, and where do you see it going in the future?

A) I've always thought that the DBA role was predominantly managing the environment and developing strategy because the day-to-day stuff is so easy. The product is a lot more complex than it was, though, so it's difficult to know it as intimately as we might in the past, but there's much more information available on how it works. I don't think for a minute that new tools have made things much easier, they just mean we can support more databases per DBA.

Q) Moving on from the technology and focusing instead on Oracle Corporation. Recently Oracle Corporation has acquired organisations like PeopleSoft, JD Edwards and Siebel, changed their marketing message to Oracle Fusion, at what some would consider to the detriment of Oracle core technologies such as the RDBMS. Any comments?

A) Don't get me started! I suspect you might know my feelings on this subject already. There was a stage where I felt the UKOUG was becoming a Fusion user group and, given that the user base of all those products combined is a small fraction of the RDBMS user base, I'll do everything in my power to stop that happening.

I can understand why Oracle want to grow into these other areas for their corporate health but their corporate health is not my primary concern and I hope they don't lose focus on what they're good at – producing a damn good RDBMS.

Q) Oracle Support. Love it, or lump it?

A) I think I'm in the minority on this one because I think they do a good job. When I first started working with Oracle, I'd avoid phoning Support like the plague because you'd go through layer upon layer of analysts, trying to reach someone who knew more than you did. Now, whilst that's still happening, they've improved the process of data collection that you always need at the start of a service request and, although the layers are still there, I can deal with them electronically on line so it's not as disruptive. i.e. if I have to spend a day or two entering some details in order to reach the right level of analyst, I don't worry too much about that. Put it this way, I'm glad I don't need to support such a complex product and I think it's too easy to moan about Support sometimes.

Then I remember how much companies are paying for Support and my sympathy wanes.

Q) In the past you've presented and supported Oracle user groups around the world including the UKOUG. What's your thoughts about Oracle user groups, their position and importance, their relationship with Oracle Corporation, and why you like to contribute to their success?

A) A strong user group is essential in my opinion. To have a strong user group, it's important that it's not organised for commercial gain, to argue the vendor's case too vehemently (although talking up the product is okay if it's a good one) or to be in the vendor's pocket financially. However, it's also important that the user group have a good relationship with the vendor so that there's a circle of feedback that will hopefully improve both the product and service for the customer.

In the end, we all run into problems and it's good for users to be able to get together, share their experiences and knowledge and passion for the software. I'd encourage as many people as possible to become involved. It's a lot of fun and the more of us there are, the more we can achieve.

(This article is a reprint of the article I published in the quarterly AUSOUG Foresight magazine Autumn 07 edition. I'd like to extend my thanks to Doug Burns for agreeing to the interview, and Penny Cookson for her kind assistance and input on this Q&A article)

1 comment:

Tim Dexter said...

Ahhh Z80 assembly language, rubber keys and a tape cassette ... those were the daze.