Who's online

There are currently 0 users and 42 guests online.

Recent comments


Oakies Blog Aggregator

Oracle Database on Oracle Linux 6.1…

I mentioned the day before Open World I put a Virtual RAC on Oracle Linux 6.1 article live. Although the procedure was complete, some of the screen shots were from an old article as I didn’t have time to redo them before my flight. :) I’ve just run through the procedure again and taken new screen shots. As a result, I’ve allowed the article to display on the front page of the website, which is why you will see it listed as a new article there.

This kinda rounds out the whole Oracle on 6.1 stuff as there has been a single instance installation guide out for ages and more recently the Cloud Control installation, which references it.

Remember, it’s still not certified yet, but it’s coming.



A little more on Oracle OpenWorld...

I've already posted information on where to get my OpenWorld materials (see the comments for how to access the content for other sessions as well).  Now I'd like to invite you to listen in for more information as well.  I know both of the speakers - I've podcasted with Willie Hardie in the past and Mark Townsend is the guy I work for.

So, get the full recap on key Database product announcements from Oracle OpenWorld. And chat LIVE with Oracle Database VPs Willie Hardie and Mark Townsend. This exclusively online event is Oct 18/19 (two sessions). Register today:

Following Oracle OpenWorld last week, do you fully understand how new database product announcements impact your projects? Do you have questions about big data, new engineered systems, or clouds? Attend our OpenWorld recap and live chat with Oracle Database experts on October 18/19. For details and to register, visit

Alex Gorbachev Presenting at TOUG’s DD Day on 28-Oct-2011 in Toronto

While Oracle OpenWorld is still hot in our memories, I’m going to be presenting two of my OOW11 sessions at the Toronto Oracle User Group’s DD Day 2011 on 28-Oct-2011 — in just a bit over 2 weeks. Last time I presented for TOUG at their summer meeting in 2008 which makes it a tad [...]

Calling all DBA's - we still need your input...

And time is running out.  A month ago we started taking input for Oracle University and what sort of courses they should be providing.  The survey is nearing an end - and while we received a great response to day, they would like to get more input.

So, if you have the time and inclination - check out


Parallel Downgrade

There are many reasons why a parallel execution might not run with the expected degree of parallelism (DOP), beginning with running out of parallel slaves (PARALLEL_MAX_SERVERS or PROCESSES reached), PARALLEL_ADAPTIVE_MULTI_USER, downgrades at execution time via the Resource Manager, or the more recent features like PARALLEL_DEGREE_LIMIT or the Auto DOP introduced in Oracle 11.2.

However what do you do if you've already checked all these possibilities but still see a downgrade occurring? You can always enable the parallel execution tracing facility (see for example the MOS document ID 444164.1 "Tracing Parallel Execution with _px_trace. Part I" for details how to use it) via the "_px_trace" parameter in the session, and if you see there that parallel slaves are getting acquired but released again immediately then possibly followed by an error message raised then you might want to have a look at the ancient Profile setting SESSIONS_PER_USER. This setting is probably mostly known and used to limit the number of concurrent sessions that a particular user is able to perform, but it is probably forgotten or mostly unknown that this profile setting also will be respected by the parallel execution and each parallel slave started will count towards this limit. Actually up to Oracle you could end up with an ORA-12805 (parallel query server died unexpectedly) error in such a case rather then seeing a downgrade occurring as described in bug 4041253.

So the next time you see an otherwise unexplainable downgrade or think about using the SESSIONS_PER_USER Profile limit, and the user is supposed to make use of Parallel Execution, consider those implications.

Sample px_trace snippet from when downgrading to serial due to SESSIONS_PER_USER Profile setting:

DOP trace -- compute default DOP from system info
# instance alive = 1 (kxfrsnins)
DOP Trace -- compute default DOP
# CPU = 4
Threads/CPU = 2 ("parallel_threads_per_cpu")
default DOP = 8 (# CPU * Threads/CPU)
default DOP = 8 (DOP * # instance)
system default DOP = 8 (from kxfrDefaultDOP())
DOP trace -- requested thread from best ref obj = 8 (from kxfrIsBestRef(
threads requested = 8 (from kxfrComputeThread())
adjusted no. threads = 8 (from kxfrAdjustDOP())
about to allocate 8 slaves
DOP trace -- call kxfpgsg to get 8 slaves
num server requested = 8
num server requested = 8 KXFPLDBL/KXFPADPT/ load balancing:on adaptive:o
Requested=8 Granted=8 Target=32 Load=1 Default=8 users=0 sets=1
load adapt num servers requested to = 8 (from kxfpAdaptDOP())
getting 1 sets of 8 threads, client parallel query execution flg=0x30
Height=8, Affinity List Size=0, inst_total=1, coord=1
Insts 1
Threads 8
q:000007FF4656C058 req_threads:8 nthreads:8 #inst:1 normal
trying to get slave P000 on instance 1 for q:000007FF4656C058
slave P000 is local
found slave P000 dp:000007FF49682A98 flg:0
Creating slave 0 flg:30
free descriptor found dp:000007FF49680318
Allocated slave P000 dp:000007FF49680318 pnum:0 flg:4
Got It. 1 so far.
trying to get slave P001 on instance 1 for q:000007FF4656C058
slave P001 is local
found slave P001 dp:000007FF49682A98 flg:0
Creating slave 1 flg:30
free descriptor found dp:000007FF49680398
Allocated slave P001 dp:000007FF49680398 pnum:1 flg:4
Got It. 2 so far.
trying to get slave P002 on instance 1 for q:000007FF4656C058
slave P002 is local
found slave P002 dp:000007FF49682A98 flg:0
Creating slave 2 flg:30
free descriptor found dp:000007FF49680418
Allocated slave P002 dp:000007FF49680418 pnum:2 flg:4
Got It. 3 so far.
trying to get slave P003 on instance 1 for q:000007FF4656C058
slave P003 is local
found slave P003 dp:000007FF49682A98 flg:0
Creating slave 3 flg:30
free descriptor found dp:000007FF49680498
Allocated slave P003 dp:000007FF49680498 pnum:3 flg:4
Got It. 4 so far.
trying to get slave P004 on instance 1 for q:000007FF4656C058
slave P004 is local
found slave P004 dp:000007FF49682A98 flg:0
Creating slave 4 flg:30
free descriptor found dp:000007FF49680518
Allocated slave P004 dp:000007FF49680518 pnum:4 flg:4
Got It. 5 so far.
trying to get slave P005 on instance 1 for q:000007FF4656C058
slave P005 is local
found slave P005 dp:000007FF49682A98 flg:0
Creating slave 5 flg:30
free descriptor found dp:000007FF49680598
Allocated slave P005 dp:000007FF49680598 pnum:5 flg:4
Got It. 6 so far.
trying to get slave P006 on instance 1 for q:000007FF4656C058
slave P006 is local
found slave P006 dp:000007FF49682A98 flg:0
Creating slave 6 flg:30
free descriptor found dp:000007FF49680618
Allocated slave P006 dp:000007FF49680618 pnum:6 flg:4
Got It. 7 so far.
trying to get slave P007 on instance 1 for q:000007FF4656C058
slave P007 is local
found slave P007 dp:000007FF49682A98 flg:0
Creating slave 7 flg:30
free descriptor found dp:000007FF49680698
Allocated slave P007 dp:000007FF49680698 pnum:7 flg:4
Got It. 8 so far.
Release Slave q=0x000007FF4656C058 qr=0x000007FF465615A8 action=1 slave=
0 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF46561D68 action=1 slave=
2 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF46562148 action=1 slave=
3 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF46562CE8 action=1 slave=
4 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF4655FE68 action=1 slave=
5 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF46562ED8 action=1 slave=
6 inst=1
Release Slave q=0x000007FF4656C058 qr=0x000007FF46560058 action=1 slave=
7 inst=1
got 1 servers (sync), returning...
serial - too few slaves alloc'd
Release Slave q=0x000007FF4656C058 qr=0x000007FF46561988 action=1 slave=
1 inst=1
signaling OER(10387) in serial 4609

Coming to Dublin...

I'll be coming over to Dublin, Ireland at the beginning of November.  On November 2nd I'll be holding a free seminar from 9:00 to 15:30 at the Oracle offices.  Everyone is invited to attend.  You can register by downloading this file and emailing the contact.  It also includes all of the information for the day.  I'll be doing two of my sessions from Oracle Open World this year (Five things you probably didn't know about SQL / PLSQL), a talk on database options and then an open question and answer session at the end.

Hope to see you there!

The Death of UK Football…

If anyone was wondering why football (soccer) in the UK is gradually being eroded to the point where we are a 3rd world country, you might want to take a look at this.

So in schools the kids are streamed based on their ability, with the most able kids paraded as shining examples of academic excellence and that is considered fine, but put them on a football field and the physically excellent kids have to be held back to allow for the weak to “compete”. This makes me sick. This has nothing to do with the kids. They don’t even read the papers. It’s to do with politically correct parents who just can’t deal with the fact their kids are wet lettuces. You can be sure the kids will remember a 20:0 defeat and you can be sure their friends will know the real score.

The real problem with the Telford Junior League is they have a “football for all” policy, which is good, but they refuse to stream the kids at an early age, so teams made up of Premiership Development Center players are playing against kids who are rarely facing in the direction of the ball. That’s no joke. I’ve seen it. With this in mind, of course some teams are going to get the sh*t kicked out of them.

Every kid should have the right to play football, but it should be against opposition that is of an appropriate level to them. Stream the kids in sports, the way they are in school. This latest nonsense from the TJL is political correctness gone mad. Life isn’t fair. Everyone is not equally good at everything. Kids need to learn that and start working hard for the things they want, rather than having it handed to them on a plate.



Update: The decision has been reversed. The full scores are now being published again. I like to think my blog rant helped, but the reality is, just about everyone with any sense could see that lying about the scores was not sensible.

Why Are My Indexes Still Valid Quiz ? (Move On)

OK, this quiz is a nice easy one, the lads at work got this without too much trouble.    Normally, when you MOVE (re-org) a table, all the associated indexes become Unusable. As below:         So the indexes are now all unusable ..     However, I previously created another table called BOWIE that [...]

The end of the Management and Infrastructure SIG – What Next?

The 27th September was in some ways a sad day for me. It was the last of the UKOUG Management and Infrastructure Special Interest Group meetings. This SIG was dedicated to looking at how you cope with Oracle as part of a large or complex organisation. The last audience was bijou and compact but the speakers were cracking, as is confirmed by the excellent feedback everyone received from the post event critique forms.

It’s always been a SIG with a small crowd come that came along, but it was also a SIG that some of us were screaming out for. Those SIGs and meetings dedicated to the hard-core technical sides of the Oracle RDBMS are of course great and much appreciated. But for those of us trying to manage a couple of thousand instances of Oracle/application server, or trying to look after the database within the sort of corporate IT forest that FTSE 100 organisations have to have, some of us were really keen to better understand the rest of the IT infrastructure, methods to look after such large Oracle estates and also the human side of things – that word “management”. I know that the word “management” in the title put a few people off the events, but for others it was the management side (human AND technical) we desperately wanted.

So, why has it ended? Well, it hasn’t really – we are merging with the RAC&HA SIG, chaired by David Burnham and his deputies. There is a lot of crossover between our areas and we found we were often using the same speakers. You do not tend to have RAC if you are not a large oracle site and you tend to be very interested in High Availability if you have a lot of Oracle stuff to look after. So, from next year, we will be the AIM SIG – availability, Infrastructure and Management SIG. It might not be a snappy label but it describes what we will be about. Details of this new SIG will be discussed at the conference in December, anyone with any thoughts on the subject is more than welcome to contact me.

This leaves me with one important task and that is to note my thanks and indebtedness to some of those who helped with the SIG.
The UKOUG staff have been great at supporting the events, especially (during my stint) Michelle Ericsson (who is now doing funky DJ stuff in the USA) and Marisa Harris, who picked up our SIG for this last meeting and was great at hearding her errant Chair and Deputy Chair into doing what we needed to do.

We have had a succession of good guys from Oracle help us out. Tony Clements was our first and longest serving Oracle buddy and Simon Moreton took up the cause after Tony went to pastures new. Mike Edgington pitched in at short notice when Simon was not available to us for this last meeting, even presenting. Special thanks also go to Andrew Bulloch who has been fantastic at giving or organising talks for us by Oracle on Enterprise manager and Grid.

Finally and most importantly I’d like to thank Neil Chandler. Neil has been the deputy chair since the SIG started and is probably – no, IS – the person who has done the most to support the M&I SIG through it’s life. Neil’s one of those people who does not push himself to the fore as he should (except maybe in the pub), resisting presenting and firmly holding one step back from being the chair. I don’t know why, he presents very well and he knows a lot of stuff.

To everyone who came to any of the meetings and especially those who allowed themselves to be drafted into presenting duties, thank you very much indeed.