Re: Is there an alternative to "alter session disable parallel query"?
- From: "Radoulov, Dimitre" <cichomitiko@xxxxxxxxx>
- To: <sac@xxxxxxxxxxxxx>
- Date: Wed, 31 May 2006 22:18:16 +0200
> Oracle 10.2.0.1/Sun Solaris 8
>
> We have tried a number of things like the no_parallel hints, parallel
> degree 0, outlines, rule hints, but they all end up using parallel query
> for a particular table (with parallel specified in the DDL). As we are
> trying to tune one specific query and not all queries against this
> table, we are not yet interested in changing the system-wide parallel
> parameters, nor the DDL. Are there any other tricks we can look at other
> than explicitly altering the session?
May be your syntax is wrong.
$ uname -a
SunOS xxx 5.8 Generic_117350-02 sun4u sparc SUNW,Ultra-60
$ sqlplus test/test
SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 31 22:13:29 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> create table t parallel 4 as select * from all_objects;
Table created.
SQL> sho parameter parallel
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback string LOW
parallel_adaptive_multi_user boolean TRUE
parallel_automatic_tuning boolean FALSE
parallel_execution_message_size integer 2152
parallel_instance_group string
parallel_max_servers integer 40
parallel_min_percent integer 0
parallel_min_servers integer 0
parallel_server boolean FALSE
parallel_server_instances integer 1
parallel_threads_per_cpu integer 2
recovery_parallelism integer 0
SQL> set autot traceo exp
SQL> select * from t;
Execution Plan
----------------------------------------------------------
Plan hash value: 2865594568
--------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 46006 | 5750K| 46 (3)| 00:00:01
| | | |
| 1 | PX COORDINATOR | | | | |
| | | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | P->S | QC (RAND) |
| 3 | PX BLOCK ITERATOR | | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | PCWC | |
| 4 | TABLE ACCESS FULL| T | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
SQL> select /*+ NO_PARALLEL(t) */ * from t;
Execution Plan
----------------------------------------------------------
Plan hash value: 2153619298
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 46006 | 5750K| 166 (3)| 00:00:02 |
| 1 | TABLE ACCESS FULL| T | 46006 | 5750K| 166 (3)| 00:00:02 |
--------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
SQL> select /*+ NOPARALLEL(t) */ * from t;
Execution Plan
----------------------------------------------------------
Plan hash value: 2153619298
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 46006 | 5750K| 166 (3)| 00:00:02 |
| 1 | TABLE ACCESS FULL| T | 46006 | 5750K| 166 (3)| 00:00:02 |
--------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
SQL> select /*+ NO_PARALLEL */ * from t;
Execution Plan
----------------------------------------------------------
Plan hash value: 2865594568
--------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 46006 | 5750K| 46 (3)| 00:00:01
| | | |
| 1 | PX COORDINATOR | | | | |
| | | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | P->S | QC (RAND) |
| 3 | PX BLOCK ITERATOR | | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | PCWC | |
| 4 | TABLE ACCESS FULL| T | 46006 | 5750K| 46 (3)| 00:00:01
| Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Regards
Dimitre
- References:
- Is there an alternative to "alter session disable parallel query"?
- From: Schultz, Charles
Other related posts:
- » Is there an alternative to "alter session disable parallel query"?
- » Re: Is there an alternative to "alter session disable parallel query"?
- » Re: Is there an alternative to "alter session disable parallel query"?
- Is there an alternative to "alter session disable parallel query"?
- From: Schultz, Charles