Re: parallel hint
Date: Thu, 04 Mar 2010 08:13:36 -0800
Thank you for the explanation. I had always wondered about something that I saw at a prior shop. Someone had used a parallel hint without degree and managed to get 57 parallel processes running, (mostly fighting) on a 12 cpu box. If the table was defined as parallel without a degree, the documentation says that Oracle defines that the degree of parallelism to use is the number of cpu times the value in the init parameter parallel_threads_per_cpu. I didn't check at the time, but I assume that they must have set the init parameter parallel_threads_per_cpu to 4. There are a few extra processes not explained by that logic, but I no longer have access to that particular box to research further.
Ric Van Dyke wrote:
> It uses the default degree of parallelism from the table. So if it's
> not set at the table, you'll get a serial plan.
> Ric Van Dyke
> Hotsos Enterprises, Ltd.
> -----Original Message-----
> From: oracle-l-bounce_at_freelists.org
> [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of girlgeek
> Sent: Thursday, March 04, 2010 2:48 AM
> Cc: oracle-l
> Subject: parallel hint
> I see from the documentation that it is perfectly valid to write a
> parallel hint with neither degree nor default.
> For example:
> select /* + parallel */ ename from emp;
> (please pretend that emp is not a tiny table).
> What will oracle use to calculate the degree of parallelism used when
> the hint is constructed as above?
> I have been unable to find the answer in the documentation.
> Thank you,