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: [Q] Cry for help: how to make exp faster?

Re: [Q] Cry for help: how to make exp faster?

From: Igor P. Merku <igor.merku_at_acegas.ts.it>
Date: Mon, 16 Aug 1999 12:55:41 +0200
Message-ID: <37B7EE2C.EDA4CADF@acegas.ts.it>


Jonathan Lewis wrote:

> Since you are exporting to tape through a pipe, have you
> tried putting 'compress' between the export and the tape ?
> I doubt if it will make things go faster since your tape probably
> does hardware compression anyway - but it's worth a try.

In fact, the tape does hardware compression. I have made several tests on this one to get the most throughput and found that adjusting the dd bs parameter to the physical tape write block size fastened things up the most. I have not yet tried to put compress between them as -on first thought- this should slow things down, as there is a third process involved ... but, of course, "try before you buy" ;-)

> The other option is to run multiple exports: do a rows=n
> full export first to get the structure, then run one export
> per relevant user with rows=y. If you have multiple tapes
> you can then run concurrent tape copies to save time.

Well, the file to tape copy is not the problem here. In fact, export has to finish up as fast as possible as then work can continue. If I save the files to tape in 5 minutes or 10, that does not really make the difference. At the time of this writing copy to tape takes about 6 minutes - its not worth the consideration, in my opinion.
The suggestion about splitting is certainly good and I have in fact started to implement a procedure to have several exports in parallel. As I am dealing with a single db user (who holds the application data), I have implemented to split up the tables between the exports (hopefully testing live next Sunday).

> BTW - compress=y is a bad idea - it can cause ridiculous
> space management problems at import time if the object
> definitions are not already in place.

OK, I have switched this off for tonight's export, we'll see tomorrow.

> One of the standard ways to improve the speed of export,
> which has been documented at times by Oracle, but is
> also frowned upon, is to create a single task version of exp,
> as this eliminates the 2K pipe between the exp process and
> its shadow. Look in $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
> for 'expst'.

Which means I would remake ins_rdbms.mk with singletask as parameter, do I get this correctly?
(Sorry, I am not really "into" programming C ...)

For the rest it seems that a shutdown/startup just before the export takes place gets things speed up the most. But this is somethings I would have to test furthermore. Last Friday for some reason the database has to be brought down and up again. Friday we also have short day, so less users connected (and over all, August 15th is "masses-of-people-going-on-holiday", especially in Italy from where I am writing, being August 15th the celebration of "Mary, Mother of Jesus Christ, going to heaven" -I don't know exactly how you call this festivity in English...) so in the evening export ran in just 2,5 hours, speeding up for 6 hours!!!
THIS really is a good situation. BUT, I don't know exactly what happened...

> Jonathan Lewis

Thank you, Jonathan, for all the hints. Regards, Igor Received on Mon Aug 16 1999 - 05:55:41 CDT

Original text of this message

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