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 -> Re: How to push CPU to its fullest potential?

Re: How to push CPU to its fullest potential?

From: Al <al_at_work>
Date: Mon, 19 Oct 1998 13:03:35 -0400
Message-ID: <70frme$hva3@piper.ncr.pwgsc.gc.ca>


Sorry, but your statements are ridiculous. Most batch DATABASE jobs are I/O bound. That means that your constraining factor is I/O to the database, as opposed to the CPU. This will occur regardless of whether your driving program is PL/SQL, C, COBOL etc....

You could probably get more out of the machine *** IF *** you can split up your batch job to run certain steps concurrently. This would allow you to make better use of your CPU capacity. However, your business process may not allow for this.

Alternatively, it may be a better investment to analyze your batch process in order to reduce the amount of I/O that is performed (tuning SQL, adding indexes).

Jonathan Lewis wrote in message <01bdf7be$61cdb500$0300a8c0_at_WORKSTATION>...
>
>The phrases:
>
> 'big batch job' and 'PL/SQL' are the giveaway.
>
>PL/SQL is single-threading - the only way to use 4 CPUs whilst
>a single session is running a single PL/SQL procedure is to
>have embedded SQL that can run through parallel query option -
>even then the result set will be passes back to a single line
>of PL/SQL execution.
>
>
>General Guideline:
> PL/SQL should not be used in big batch jobs other than
> a) util_file to write logs to files
> b) dbms_output to push logs to screen (2nd best)
> c) dbms_sql to generate and execute dynamic 'create object'
>statements
>
>Jonathan Lewis
>
>
>
>Robert Chung <robertch_at_mindspring.com> wrote in article
><3623ad2b.21944945_at_news.mindspring.com>...
>>
>> We have Oracle database running in parallel mode on AIX UNIX box
>with
>> four CPUs. We run a batch job (written in PL/SQL) that takes more
>> than four hours everyday, and to my surprise, I found out that CPUs
>of
>> this AIX UNIX box almost always sit idle at least more than 60% of
>the
>> time while this big batch job is running. Why is this happening?
>Is
>> this because hard disks are the big bottle-neck? (but we do have
>macho
>> RAID devices hooked up to this server)
>>
>> I was assuming Oracle automatically distributes this one big batch
>job
>> to different processes in different CPUs. Is this false? If so,
>what
>> should I do to force distribution of processes in different CPUs?
>> Thank you in advance.
>>
>> Robert
>>
>>
Received on Mon Oct 19 1998 - 12:03:35 CDT

Original text of this message

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