Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Concerned regarding parallel query and 10g (10.1.0.4)

Concerned regarding parallel query and 10g (10.1.0.4)

From: peter <p_msantos_at_yahoo.com>
Date: 25 Jan 2006 12:06:23 -0800
Message-ID: <1138219583.425931.150220@g47g2000cwa.googlegroups.com>


Dear all,

     I'm currently supporting a mixed OLTP/DSS'ish type environment. The environment

     is 10.1.0.4 on Solaris 8 64 bit (10 cpus). The environment is about 75% reads.

     We have small oltp like transactions, but the majority of the workload is due to

     large queries that pull 10K to 5MM records at a time.

     The CPU queues are typically around 7-8, so I know we have more CPU bandwidth

    available, and we are only using 3GB SGA and the machine which hosts only the oracle

    database has up to 12GB.

    These large queries are typically a 2 table join per customer and depending on what is

    being selected, it could result in many rows. On average we are joining a 5 million

    record table to a 10 million record table (typically a 2/1 ratio).

    I'm considering using parallel query to speed up these types of queries, but I would like

    some feedback on what things to watch out for with parallel query. What additional

    resources does it require (more memory? larger shared pool? larger buffer cache?

    larger pga aggregate target ???) contention problems ?? ).

    If anyone has experience with Parallel query and the things to watch out for I'd appreciate it.

These are my current settings, but I'm looking to increase the # of parallel servers.

 parallel_adaptive_multi_user = TRUE
 parallel_automatic_tunning = FALSE
 parallel_execution_message_size = 2152
 parallel_max_servers = 20

 The type of query that I'm referring to is something like this   SELECT ****
  FROM USER_DATA U, PRODUCT_DATA P
  WHERE U.USER_ID = P.USER_ID AND
              P.PRODUCT_ID = X  A typical execution plan is something like this:

              HASH_JOIN
                         INDEX FAST FULL SCAN PRODUCT_DATA
                         FULL TABLE SCAN          USER_DATA

Currently the IFFS and FULL table scans are done with 0 parallelism, and I just think
that using even a small degree of parallelism on the objects would make things go faster.

I'm also considering partitioning and changing the PRODUCT_DATA to an IOT so that
the data is ordered by PRODUCT_ID.

I'm aware that 10g will downgrade a potential parallel operation to serial if it doesn't have enough parallel servers, so I would like to start putting the Degree Of Parallelism
on tables/indexes and increasing parallel max servers... but I want to know
how this will affect the shared_pool, the buffer_cache and overall memory/contention
on the system...

Any insight would be helpful...
-peter Received on Wed Jan 25 2006 - 14:06:23 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US