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 -> Performance of Multi Stream Analyze Commands over large Schema with partitioned objects

Performance of Multi Stream Analyze Commands over large Schema with partitioned objects

From: John O'Brien <jobrien_at_ieee.org>
Date: 6 Jun 2002 04:29:52 -0700
Message-ID: <24bad735.0206060329.673cfa61@posting.google.com>


Question:
To sum up, given a high processor count SMP or NUMA box how can an Oracle database be analyzed fast ?

Explanation and results:

I have to analyze a large database weekly and sometimes daily. There are partitioned objects.

Running analyze in a single script takes way too long, no matter what the sample rate. On 8.1.7 dbms_stats can do it in parallel but with parallel servers, which I do not want to switch on as they can have an adverse effect in my scenario. Anyway even that aside when a colleague tested it he did not see big gains. The number of parallel query servers can only be changed by bouncing the DB which I cannot do either - not a solution outside of R&D.

I want a solution that works for 4 to 32 cpus at least and I have the hardware to test it.

I wrote a perl script that extracts all the objects by partition out of the database and forks off a number of streams as specified in a parameter passed by the user. This means I can get all the paralelism I need with out a database reboot, unlike parallel query servers.

The results were not impressive. Massive waitio and the buffer cache is maxed at over 2GB ( AIX ). This is 32 bit Oracle.

I changed the db_file_multiblock_read_count to 2048 so it would assume the max value and saw the waitio drop off somewhat.

Now aix also uses asynchronous io natively on JFS and I have 10 db writers running.

Seems to me like the buffer cache and i/o is the throttle here but I would like opinions,advice and discussion.

For instance should I make the script smarter so I have some logic that determines if an object needs to be analyzed because it has changed significantly. This could reduce i/o.

Regards,
John Received on Thu Jun 06 2002 - 06:29:52 CDT

Original text of this message

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