One of my blog readers recently dropped me an email noting that he had noticed some cache buffers chains latch contention recently and successfully troubleshooted it with LatchProf. I asked if he’d like to blog about it and here’s the article:
Cache buffer chains latch contention typically shows up when some execution plans go bad, switching to nested loops or filter loops and revisiting the same table (or index) blocks very frequently…
While the congrats are getting in via the usual virtual channels like Twitter and mail for being awarded the best speaker awards for the Database (Alex Nuijten) and Fusion Middleware (Luc Bors) tracks, I would like to mention that great Keynote session on Monday that was put together by the ODTUG Kaleidoscope board. The board created some hilarious movies while using these as a bridge to speak about the bit more serious topics like last years awards, “thank you”-s for the people out there that made it all work and for example the new location of Kaleidosope 2012. Via my YouTube channel you can see sketches of: “The Bachelorette”, “Big Brother” and others…
To give you a taste of what was shown:
I’ve said in the past that one of the best new features, in my view, in 11g was the appearance of proper virtual columns; and I’ve also been very keen on the new “approximate NDV” that makes it viable to collect stats with the “auto_sample_size”.
Who’d have guessed that if you put them both together, then ran a parallel stats collection it would break
The bug number Karen quotes (10013177.8) doesn’t (appear to) mention extended stats – but since virtual columns, function-based indexes, and extended stats share a number of implementation details I’d guess that they might be affected as well.
While testing Oracle 126.96.36.199 (on Red Hat Enterprise Linux), I recently bumped up against a problem with stats collections using DEGREE > 1 that results in an ORA-600.
20:56:41 SQL> BEGIN DBMS_STATS.GATHER_TABLE_STATS('TR_OWNER','TR_POL', Estimate_Percent=>dbms_stats.AUTO_SAMPLE_SIZE, method_opt=>'FOR ALL INDEXED COLUMNS SIZE AUTO',cascade=>FALSE, Degree=>dbms_stats.AUTO_DEGREE); END;
20:56:41 2 /
BEGIN DBMS_STATS.GATHER_TABLE_STATS('TR_OWNER','TR_POL', Estimate_Percent=>dbms_stats.AUTO_SAMPLE_SIZE, method_opt=>'FOR ALL INDEXED COLUMNS SIZE AUTO',cascade=>FALSE, Degree=>dbms_stats.AUTO_DEGREE); END;
ERROR at line 1:
ORA-20011: Approximate NDV failed: ORA-12801: error signaled in parallel query
server P024, instance db100.srv.com:TRXTPLT2 (2)
ORA-00039: error during periodic action
ORA-00600: internal error code, arguments: , [0x2AE3C33489B8], , ,
, , , , , , , 
June 30, 2011 I saw an interesting search keyword the other day that generated several hits on my blog articles. The search keyword was simply: WHERE MOD(ROWNUM,100) = 0 Just what is interesting about the above? Had someone seen that syntax and wondered how it worked, or was someone trying to use that syntax and [...]
If you’ve troubleshooted (or tuned) RAC then you probably already know Riyaj Shamsudeen and his Orainternals blog & website (links below).
Anyway, since I started delivering my Advanced Oracle Troubleshooting classes some years ago, many people asked whether I would do a similar class for RAC. I had deliberately left out the RAC-specific stuff from my troubleshooting material, because it’s a very wide and complex topic and I feel like before trying to master RAC troubleshooting, you should master troubleshooting of regular single instance databases anyway. I realized that I didn’t have the time to build (and maintain) yet another set of trainig material, especially on so complex topic as RAC performance & troubleshooting.
So, having seen Riyaj’s impressive work and his presentations at various conferences, I asked whether he would be interested in building a RAC troubleshooting class, going from fundamentals to advanced topics – and he said yes. By now we are that far that I’m happy to announce the first Advanced RAC online seminars by Riyaj Shamsudeen (split across two weeks of online sessions, 4-hours per day, in end of august and september).
We initially called the seminar “Advanced RAC Troubleshooting” but then realized, that there are some closely related non-troubleshooting topics to be covered, like fundamental concepts, internals and also how to configure RAC for performance (so that you wouldn’t have to troubleshoot performance later :-)
We’ll use the same infrastructure and seminar philosophy as I do in my own online seminars, it’s just that this is Riyaj’s material and he will deliver it too.
You can read more about the seminar content, dates and sign up at the seminars page:
Riyaj’s website (articles, slides etc):
Let the RAC hacking begin! ;-)
Transformers: Dark of the Moon rocks! The previous two films were good, although the second didn’t even prompt a review from me.
The first few minutes did not bode well. I dislike those child-friendly stupid little robots. Think Ewoks and Jar Jar Binks. Maybe that lowered my expectations sufficiently to make me enjoy the rest of the film.
It certainly felt like Michael Bay had been watching Battle: Los Angeles and Skyline while this was being made. As you would expect from a Michael Bay film the destruction was of epic proportions. Sometimes this descends into disaster porn, but it felt a little more personal in this film. Maybe I’m talking rubbish and it was just the mood I was in that made me feel that.
Anyway, it’s full of awesome robots doing superhero posturing. I love the way they transform and move. Very cool. Shia LaBeouf is obviously part robot because he manages to survive some situations that would mangle a block of steel. On top of the crazy action there are some genuinely funny bits.
At the end of the film a large proportion of the crowd started to clap, which I’ve not heard in a while. I’m a bit to old and jaded for that, but I did enjoy it.
Like all these Hollywood action blockbusters, you need to go in with your suspension of disbelief primed, but if you do you will have a good time.
This is just a short heads-up note regarding a bug that obviously has been introduced with 188.8.131.52: If you happen to have a public synonym for a table that is called differently than the original object then dynamic sampling will not work in 184.108.40.206.
The reason is that the generated query used for the dynamic sampling does not resolve the synonym name properly - it resolves the object owner but uses the synonym name instead of the actual table name. The same issue happens by the way when using a private synonym, however the query is then still valid and works even when using the synonym name.
The bug can only be reproduced in 220.127.116.11, in all previous versions including 18.104.22.168 the synonym resolution seems to work as expected for the dynamic sampling query, so it seems to be a problem introduced in that patch set.
I just noticed that Jonathan Lewis has announced that he’s writing a new Oracle (fundamental) internals book, due to be out in November.
So, I’m happy to add to Jonathan’s announcement, that I’m the tech reviewer of that book!
After all the hard work on the Exadata book, I didn’t want to hear about working on any book again (even if it’s just tech reviewing work), but as this is Jonathan’s book, about exactly these topics I love and focus on, I had no choice but to make an exception and become a reviewer ;-)
I’ve already reviewed a couple of chapters and this book is going to be awesome!