Entries by Doug Burns

Doug's Oracle Blog

  • Home
  • Papers
  • Books
  • C.V.
  • Fun
  • Oracle Blog
  • Personal Blog

Jul 12: Red Gate Webinars

Thanks to anyone who attended last week's webinar on OEM Performance Pages, organised by Red Gate Software. For those of you who couldn't make it and might be interested, a video is available here.

There were a number of questions after the webinar that I didn't feel there was sufficient time to answer properly so if anyone who asked those questions wants to post them in the comments below, maybe I can attempt to give more detailed answers here or in a seperate post.

I'll be presenting the second part next Thursday which will focus on some of the new features of OEM 12c, particularly ASH Analytics. I heard from the James Murtagh of Red Gate that it looks like it's going to be a very well attended session so thanks to those who have already registered. I'm really looking forward to it.
Posted by Doug Burns Comments: (0) Trackbacks: (0)

Jul 8: Instrumentation

At first this post might seem off-topic, but it's a post that I've been planning to write for a long time because, even if it might seem a bit of fluffy fun, it reinforces one of the most important tools at your disposal.

Instrumentation in your code is pure gold when it comes to analysing performance.

Without instrumentation you're flying blind and, although most people in the Oracle community are familiar with the importance of instrumentation via the Wait Interface, 10046 trace files, ASH data, the PL/SQL Profiler and so on, I wanted to discuss a very early example of my own experience with instrumentation to illustrate that this stuff has been around for a long time!

I learnt this lesson when I was around 17 years old (which means, erm 29 years ago or so). When I first started developing commercial games for the ZX Spectrum, some of the most important questions I had to ask where things like ...

"Which part of the code is taking the most time". (i.e. I needed an activity profile to focus my tuning efforts in the right places.)

"When I'm re-drawing this object on the screen, is the refresh raster running across that area of the TV screen at the same time?" (i.e. Are objects going to flicker?)

The objective was to have as much of the screen refresh code run in the period between when the raster hit the bottom of the TV screen (which triggured the interrupt that we'd hook into via an interrupt service handler) and when it hit the top of the area that the Spectrum actually used for display*. When things happened and how long they took was absolutely critical to the speed and smoothness of the game experience.

Answering these questions might be a bit trickier than you think though! If you're writing Z80 machine code, your entire application might run in less than 1/100 of a second. I know that, because one of mine did. So any instrumentation you add to your code had better :-

1) Have a very small overhead.
2) Be non-intrusive.
3) Give you just the information that you need and no more.

As with many things in the assembly language world, the solution turned out to be an extremely primitive but effective one. As a strong clue, take a look at this video AFTER MUTING YOUR SOUND (unless you want your ears to bleed). Old Spectrum users will recognise those yellow and blue alternating lines as the Spectrum loads data. It turns out that they are really easy to produce by using an OUT instruction to port FE, using the lowest 3 bits to set the border colour. (There are a lot more technical details buried in this FAQ!)

So, by using a single lightweight instruction to change the border colour at key points in the application, you could see a visual profile of how long different bits of your application were taking to run and when they stopped and started, relative to when the Spectrum was redrawing the TV display. With 8 colours available, it was just about possible to work out a high level activity profile of your application. The profile would change as the application had to perform more work on certain screen refreshes so you could see when you were running close to those dreaded flickering graphics!

Simple, cool, elegant and extremely useful. A response time profile updated 50 times a second for the cost of a few Z80 OUT instructions ;-)

That's why I'll always be respectful of the challenges that the authors of the Wait Interface, ASH, DTrace and the like have overcome. Low-level instrumentation has to be effective and lightweight.

Instrumentation - you know it makes sense!

* When you have this knowledge, it makes you see Spectrum games in a new light. That's why programmers liked big information and score areas at the *top* of the screen - because it gave them more time to draw objects before the raster on the TV screen reached them!
Posted by Doug Burns Comments: (0) Trackback: (1)

Jul 8: Swingbench Download should be ok

Following up from one of the questions raised during last week's OEM webinar I did for Red Gate Software, it appears that others have reported the issues with Dominic Giles website where you can download his Swingbench tool. Dominic has now taken action to resolve the issues and you should be good to access the site again.

I was surprised to say the least because it wasn't so long ago that I was downloading Swingbench for a new VM build, but that was probably a few months ago now that I think of it.

Thanks to those who raised the question during the webinar and particularly Brian Pardy for sending me a message with an example screenshot.
Posted by Doug Burns Comments: (0) Trackbacks: (0)

Jul 8: OEM 12c Agent Consuming High Levels of CPU

Just a quick note that some Oracle users have been seeing problems with the OEM 12c agent consuming high levels of CPU on hosts where it is running. This was brought to my attention by Andrew Bulloch of Oracle via this blog post. Definitely one worth following for OEM users!

I'll need to check with my client tomorrow whether we've been experiencing this but their deployment is still at a relatively early stage ...
Posted by Doug Burns Comment: (1) Trackbacks: (0)

Jun 6: OUGN Conference 2012

I'm going to kick off this post by really blowing my own trumpet! There have been times (perhaps not many) when I've heard that posts here have influenced others and helped them make decisions. That always catches me by surprise (erm, I suppose I should stop being surprised by now), but it's brilliant too. One example is that I've met several people who first considered working for Pythian because my blog post about their interview process stuck in their minds. Of course, people like Paul Vallee and Alex Gorbachev are master recruiters, too, but I did my bit in some cases.

Then there's my post about last year's OUGN conference. I was so positive about it that I believe it influenced some speakers to attend for the first time and, as I expected, all seemed to have a great time - even if you might question how many Martins a conference needs and allow for Martin Widlake and Maria Colgan having to be loaded on sea-sickness pills. (Martin didn't seem to be his usual excitable self so, erm, I might suggest they're useful on land too. Oracle London Beer attendees would confirm that the main challenge is to get Martin and I to shut up for a few seconds so others can get a word in occasionally! ;-))

Already looking forward to the event, I was expecting an even better time from being able to spend some more time with friends that I don't get to see often enough and so it proved.

Wednesday

This year's conference was the first time that OUGN organised an additional first day on dry land before setting sail which allowed them to pack the agenda with even more good content. I skipped this, just to avoid taking another day out of the office, but it meant that by the time I turned up late in the evening, some friends had already had a good first day and an excellent night out. For the record, I was neither surprised by how popular the two Martins RAC Attack was, nor by how they found Norwegian hospitality! Of course, despite an early start, a long day at work and my trip, I still couldn't resist one too many beers in the top floor bar of a hotel with a great view of Oslo particularly once a few friends showed up. With so much to talk about, it went on a little later than I'd planned :-( (Then again, a regular reader might challenge the veracity of any of these 'plans' I keep mentioning.)

Thursday

... which meant that I woke up a little later and it was all a bit rushed getting my act together and making my way towards the ferry terminal for registration, which was as packed and excitable as I remembered from last year. The long opening keynote session was split into multiple sections, some of them in Norwegian (reasonably enough!) so there was a small huddle of speakers at the back of the show theatre, tapping away on their laptops, but Andrew Sutherland's "Simplify IT" section sparked my interest a little, primarily because he's a very captivating speaker!

Eventually, though, it was time for the mass migration to our different rooms for the trip, a little much-needed lunch and then I was in my usual pre-presentation getting-cleaned-up-and-panicking mode. Which meant that I missed Jonathan Lewis' session on Desgining Optimal SQL. In fact, Jonathan was speaking immediately before both of my presentations, which meant I not only missed both sessions but (cough!) ended up with practically no setup time, which made me a little more nervous than usual. I was even more nervous when the front row included Oracle University instructors Uwe Hesse and Harald Van Breederode. As an ex-instructor myself and from their blogs, I know these guys really know their stuff and, of course, Maria Colgan was hiding at the back, waiting for me to say something stupid ;-) In the end, I could tell I hadn't done as well as usual but was almost relieved to get to the (rather hurried) end.

It's not my favourite presentation material in any case and I was feeling on particularly poor form, so I was gutted when I found out that it had been recorded :-( It took me a long time to bring myself to watch it, I didn't enjoy it and I've considered about 42 times whether to post a link. I've decided to, with several caveats

- I still really don't like this presentation and don't plan to give it again, but conference submissions are agreed months in advance, before the presentations are even written.

- I've been going through a minor crisis over talking to my mates, introductions and other presentation details which are nothing to do with the technical content. I think I've probably come up with some solutions, but this is a mid-way point in that process. That is code for - skip the first 6 or 7 minutes if you can't be bothered with me waffling on about nothing at all! (Thanks to Boneist for pointing this out although I have to say some people in the audience seemed to enjoy it, others probably didn't at all)

- I'm still not convinced that watching presentations online is as good as the real thing. I haven't put my finger on why yet but, even a presentation like Cary Millsap's UKOUG keynote which I utterly enjoyed live didn't seem as good when I watched videos later.

- Erm, I really don't like it and know I can be much better. For example, it's very unlike me to read my slides so much. Sigh

Anyway, the turning point in me deciding to post the link is that I really like the delivery platform and there are a bunch of presentations here for free that means you can enjoy some of being at a conference without the time off work and the conference registration fee. I just wish they'd recorded my other presentation, which I preferred ;-)

After that, despite an aborted attempt to listen to one presentation, I was probably just about ready to crash out and rest for a while but the company and atmosphere is so positive on the boat that it's very hard not to find yourself moving on from one drink and conversation to another in a seamless blur before sitting down to a proper dinner with other presenters and attendees. I honestly can't remember the seperate details of the two evenings but the first was probably a little more sedate as I still had a demo-packed presentation to take care of the next morning ....

Friday

I spent Jonathan Lewis' double presentation working through my demos one last time and then pacing around outside waiting for the man to shut up! Fortunately there was a smoking room right next to the presentation auditorium ;-) However, by the time I was able to plug-in I only had 5 mins to make sure everything was ok and, sure enough, had to go through another reboot cycle to get the VM driving the projector properly. (Note for potential new presenters. I always allow myself *more* than enough time because nothing puts the wind up you like having to solve some equipment issue as you're starting to speak. Even if you manage to pull it off, and you probably will, it affects your balance for the early part of the presentation. That's my experience, anyway.)

So I wish the demonstrations had been a bit better and I wasn't quite so flustered, but I love showing the OEM 12c Performance Pages so much that I hope my enthusiasm came through and I much preferred this one. I probably spent a little too long on the original Top Activity Page for those who had already seen it, but it's difficult to do ASH Analytics without being sure people know the fundamentals first. The Red Gate webinars will solve that by allowing me two sessions. I was pretty surprised by how many people showed up, because I was speaking in the slot when people can go ashore in Kiel to stretch their legs and grab lunch. In the end, a few of us managed to hop off the boat immediately after my session although it was a bit of a rush to make sure we weren't left behind!

After lunch was a sort of talk show/panel session, diving into some of the more personal aspects of some of the main speakers personalities. It was ok, but part of me thinks we should have just dragged them all off to the Monkey Bar, bought them all a drink and we would have probably learned more about them ;-) That was followed by a comedy show by Norwegian star Åsleik Engmark. I honestly can't tell you whether it was funny, but several of my Norwegian friends seemed to love it.

By now I was so bushed that I had to sit at the front of "Tips to Prevent suboptimal Execution Plans" by Maria Colgan so that I knew I wouldn't dare nod off or start snoring! She was great, as usual, but it was really tough listening to anyone at that point and so from then on it was just one last night of drinking, eating and partying, culminating in the (smoking) Night Club. Bliss ;-)

Saturday

I didn't manage to sleep in quite so badly as I did last year, but I just had time to get ready before popping off the boat and taking the bus to the train station that OUGN had organised for speakers. Yet another excellent touch.

As we were a little early, some Martins and I spent a last little time with Oyvend Isene before heading off to the airport where it was, frankly, Martin Central. One of my lasting memories will be of Martin Nash, having been warned about the possible hot dog contents, bit into his and splattered me with the insides. The look of horror on his face won't leave me in a hurry. The cleaning bill is in the post ;-)

I said it last year and I'll say it again. OUGN is one of my favourite conferences. Everyone I know seemed to have a great time and I'm convinced that, although being on the boat is a big factor, perhaps the Norwegians are a bigger factor. To make a few sweeping generalisations based on a very small sample ... humble, funny, clever and occasionally a little cynical - it's like being around Scots who have a healthier diet and speak a different language ;-)

OUGN know how to organise a great conference and treat speakers so well that it's a real pleasure to go there and one that I'm looking forward to repeating. In fact, I received this from one of the organisers, Truls Bergersen

"Next year's OUGN Seminar will be Wednesday to Saturday April 17th-20th or 24th-27th 2013. We're awaiting the sailing plan from Color Line to know which of these two weeks that the Color Magic departs from Oslo on a Thursday. The format of the 3-day seminar will be very similar to this year: Wednesday on shore, and Thursday to Saturday on Color Magic."

If you get a chance to attend, you probably won't be disappointed. Oh, and if this post influenced you and you enjoy it - I reckon you owe me a beer ;-)

Posted by Doug Burns Comments: (2) Trackbacks: (0)
« previous page   (Page 4 of 138, totaling 688 entries)   next page »

Statistics on Partitioned Tables

Contents

Part 1 - Default options - GLOBAL AND PARTITION
Part 2 - Estimated Global Stats
Part 3 - Stats Aggregation Problems I
Part 4 - Stats Aggregation Problems II
Part 5 - Minimal Stats Aggregation
Part 6a - COPY_TABLE_STATS - Intro
Part 6b - COPY_TABLE_STATS - Mistakes
Part 6c - COPY_TABLE_STATS - Bugs and Patches
Part 6d - COPY_TABLE_STATS - A Light-bulb Moment
Part 6e - COPY_TABLE_STATS - Bug 10268597

Comments

Doug Burns about 10053 Trace Files - Different Plan in Different Environments
Tue, 02.04.2013 08:57
You're welcome. Now I just nee d to pull my finger out and ac tually come up [...]
Howard Rogers about 10053 Trace Files - Different Plan in Different Environments
Mon, 01.04.2013 23:08
Makes a big difference, so tha nks for that! With two brow ser windows, o [...]
stelioscharalambides.com about 10053 Trace Files
Sat, 30.03.2013 16:28

Upcoming Presentations

Bookmark

Open All | Close All

Syndicate This Blog

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Comments
  • Feedburner Feed

Powered by

Serendipity PHP Weblog

Show tagged entries

xml 11g
xml ACE
xml adaptive thresholds
xml ASH
xml Audit Vault
xml AWR
xml Blogging
xml conferences
xml Cuddly Toys
xml Database Refresh
xml DBMS_STATS
xml Direct Path Reads
xml Fun
xml grid control
xml hotsos 2010
xml listener
xml Locking
xml oow
xml oow2009
xml optimiser
xml OTN
xml Parallel
xml Partitions
xml Patching
xml swingbench
xml The Reality Gap
xml time matters
xml ukoug
xml ukoug2009
xml Unix/Shell
xml Useful Links

Disclaimer

For the avoidance of any doubt, all views expressed here are my own and not those of past or current employers, clients, friends, Oracle Corporation, my Mum or, indeed, Flatcat. If you want to sue someone, I suggest you pick on Tigger, but I hope you have a good lawyer. Frankly, I doubt any of the former agree with my views or would want to be associated with them in any way.

Design by Andreas Viklund | Conversion to s9y by Carl