Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!drn.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.tiscali.de!news.belwue.de!not-for-mail
From: Holger Baer <holger.baer@science-computing.de>
Newsgroups: comp.databases.oracle.server
Subject: Re: Parallel Application Processing
Date: Mon, 08 Aug 2005 15:14:12 +0200
Organization: InterNetNews at News.BelWue.DE (Stuttgart, Germany)
Lines: 53
Message-ID: <dd7lr5$2ia$1@news.BelWue.DE>
References: <1123495768.957381.281320@f14g2000cwb.googlegroups.com>   <pan.2005.08.08.10.21.41.140717@sbcglobal.net> <1123498816.572202.175350@z14g2000cwz.googlegroups.com>
NNTP-Posting-Host: blackhole.science-computing.de
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: news.BelWue.DE 1123506853 2634 193.197.16.3 (8 Aug 2005 13:14:13 GMT)
X-Complaints-To: news@news.belwue.de
NNTP-Posting-Date: Mon, 8 Aug 2005 13:14:13 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050512
X-Accept-Language: en-us, en
In-Reply-To: <1123498816.572202.175350@z14g2000cwz.googlegroups.com>
Xref: dp-news.maxwell.syr.edu comp.databases.oracle.server:249093

Billy wrote:
> Mladen Gogala wrote:
> 
> 
>>>Does this method make sense? Are there better methods to consider?
>>
>>Partitioning it by hash (or range, if you can do that) and then acessing
>>different partitions in parallel would seem like the perfect way.
> 
> 
> Oracle SE. Partitioning is not available.
> 
> Not that this partitioning is actually a solution in itself. One can
> simply specify the partition range as part of the predicate without
> needing to have partitioning. e.g.
> select * from table where datetime between :date_from and :date_to
> 
> The problem with this is that the process now needs to go and determine
> what ranges of values it can process. Which date ranges ara valid
> candidates? Which date ranges are currently busy being processed? Which
> has not yet been processed? Which has been processed but failed
> processing?
> 
> How do you deal with these management complexities? Writing additional
> code? Adding tables to manage the processing? The more moving parts
> there are, the bigger the chance of failure. The slower performance.
> 
> Versus simply telling the process find *any* n number of rows that
> needs processing and doing its process & update thing. And running
> potentially 100's of these in parallel.
> 
> Sorry, I cannot see your suggestion as a viable solution.
> 
> --
> Billy
> 

If you have "Effective by Design", Tom Kyte describes a possible solution to your
problem using rowids and a number of jobs for parallel processing.

It is also briefly covered here:

http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:10498431232211

However, running 100's of them in parallel would mean you need to have the horse power
to do so. According to Cary Milsap (read Batch Queue discipline and Batch Queue and the magic of 2
available at hotsos.com after registration) you shouldn't run more jobs than 2 times the number
of CPUs in parallel. But if you have such a beast (with SE? noway) you'll be fine, else
you'll just set job_queue_processes accordingly.


Regards,
Holger
