Just to follow up. Our db has, historically, posted enq: ps contention as one of top 5 events. Am not used to seeing this and was not happy with it. We hunted down the top xplans showing PE, and disabled it by resetting DOP to 1 on all underlying objects. This wait event is now all gone and application throughput increased from 15k to 26k records per hr. If you rebuild indexes on a regular basis for whatever reason, make sure the DOP is reset to 1 unless you have some other reason not to. Thanks -----Original Message----- From: Andrew Kerber <andrew.kerber@xxxxxxxxx> Sent: Tuesday, February 24, 2009 10:05 AM To: fmhabash@xxxxxxxxx Cc: nigel.cl.thomas@xxxxxxxxxxxxxx; oracle-l <oracle-l@xxxxxxxxxxxxx> Subject: Re: Specifying DOP at object level in an OLTP Production DB. I agree to a certain extent, and disagree to a certain extent. Well tuned PQ can work wonders when your primary query type is a range scan. PQ can kill a database if you have multiple large table scans running in an OLTP environment. If you have full control of the queries running in your environment, then it is not necessarily a problem. Admittedly, try as you might few, DBA's have full control of all the queries running on their database. On Tue, Feb 24, 2009 at 7:46 AM, FMHabash <fmhabash@xxxxxxxxx> wrote: > Thanks for the reply for an appearantly unpopular inquiry. I have a > situation where 2 quries executing simultaneously at 2000/hr always do in > parallel. When they do, cpu idle goes near 0. We took out the parallel hint, > but the xplan continues to show PE. This db has 30% of RT in PE: slave > enqueue waits. The table themselves have default DOP, but eventually we > narrowed it down to the indexes which have it set at 6. Our plan, is to > reset DOP to default for all objects. These are the ROT that I can list > - For an OLTP db, no objects should have a non-default DOP. > - high execution count quries in an oltp, should not go parallel > - if PE is needed for some reason, can be done at session level. > > Do you agree/disagree with this logic? > Thanks again > > > -----Original Message----- > From: Nigel Thomas <nigel.cl.thomas@xxxxxxxxxxxxxx> > Sent: Tuesday, February 24, 2009 3:39 AM > To: fmhabash@xxxxxxxxx; oracle-l <oracle-l@xxxxxxxxxxxxx> > Subject: Re: Specifying DOP at object level in an OLTP Production DB. > > One reason tables/indexes may have a DOP > 1 is that they have been > created (or at some point reorganised) using parallel DML (not a bad > thing in itself), and then the DOP on the table has never been reset. > In many OLTP systems this will have little or no effect, because the > type of queries (small result sets, keyed access etc) make a parallel > execution plan unlikely to be chosen. > > The DOP "bomb" goes off later, either when some serious reporting > takes place, or when a developer lobs a particularly gruesome query > into the mix. > > Regards Nigel > > On 23/02/2009, FMHabash <fmhabash@xxxxxxxxx> wrote: > > Hi all, > > Every one in a while, I see some clients who opt to specify a non-default > > DOP at tables and indexes up to 6. > > I have not, however, understood why would you want to do that in an OLTP > > system for quries executing 1000's of times. > > Is anyone here set DOP as described in an OLTP production DB and why? > > Thanks. > > -- > //www.freelists.org/webpage/oracle-l > > > -- Andrew W. Kerber 'If at first you dont succeed, dont take up skydiving.' -- //www.freelists.org/webpage/oracle-l