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: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 14 Oct 1998 22:06:44 GMT
Message-ID: <01bdf7be$61cdb500$0300a8c0@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 Wed Oct 14 1998 - 17:06:44 CDT

Original text of this message

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