Build single task EXP

From: Michael Schmarck <usenet-michael_at_schmarck.cn>
Date: Fri, 29 Aug 2008 15:01:59 +0200
Message-ID: <g98rvu$1bpa$1@geiz-ist-geil.priv.at>


I still have to use Oracle on Sparc and would like to make EXP (and IMP) faster. On http://blakgeek.blogspot.com/2007/05/make-impexp-run-faster.html and other sites, I found that I could speed up EXP by relinking the IMP/EXP programs in single task mode.

To do so, BlakGeek writes:

  1. cd $920_ORACLE_HOME/rdbms/lib
  2. make -f ins_rdbms.mk singletask
  3. make -f ins_rdbms.mk expst
  4. make -f ins_rdbms.mk impst
  5. make -f ins_rdbms.mk sqlldrst
  6. mv expst $920_ORACLE_HOME/bin
  7. mv impst $920_ORACLE_HOME/bin
  8. mv sqlldrst $920_ORACLE_HOME/bin

Step 2 fails for me :(

oracle_at_winds00 ~/product/9.2.04/rdbms/lib $ LC_ALL=C make -f ins_rdbms.mk singletask

  • Linking Singletask Export utility (exp) /usr/ccs/bin/ld -o expst -L/opt/apps/oracle/product/9.2.04/rdbms/lib/ -L/opt/apps/oracle/product/9.2.04/lib/ -dy /opt/apps/oracle/product/9.2.04/lib/WS6U1/crti.o /opt/apps/oracle/product/9.2.04/lib/WS6U1/crt1.o /opt/apps/oracle/product/9.2.04/rdbms/lib/s0exudrv.o /opt/apps/oracle/product/9.2.04/rdbms/lib/defopt.o -ldbtools9 `if [ -f /opt/apps/oracle/product/9.2.04/lib/osntabst.o ]; then echo '/opt/apps/oracle/product/9.2.04/lib/osntabst.o'; else echo '/opt/apps/oracle/product/9.2.04/network/lib/osntabst.o'; fi ` /opt/apps/oracle/product/9.2.04/rdbms/lib/ttcsoi.o /opt/apps/oracle/product/9.2.04/rdbms/lib/ttcoerr.o /opt/apps/oracle/product/9.2.04/rdbms/lib/kpufpd.o /opt/apps/oracle/product/9.2.04/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lpls9 -lplp9 -lslax9 -lgeneric9 -lclient9 -lcommon9 -lwtc9 -lmm -lknlopt -lpls9 -lserver9 -lpls9 /opt/apps/oracle/product/9.2.04/lib/nautab.o /opt/apps/oracle/product/9.2.04/lib/naeet.o /opt/apps/oracle/product/9.2.04/lib/naect.o /opt/apps/oracle/product/9.2.04/ lib/naedhs.o `cat /opt/apps/oracle/product/9.2.04/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/apps/oracle/product/9.2.04/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lclient9 -lpls9 -lplp9 -ljox9 -lserver9 `cat /opt/apps/oracle/product/9.2.04/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/apps/oracle/product/9.2.04/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -ltrace9 `if /usr/ccs/bin/ar tv /opt/apps/oracle/product/9.2.04/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lcore9 -lvsn9 -lcommon9 -lgeneric9 -lknlopt -lctxc9 -lctx9 -lzx9 -lgx9 -lctx9 -lzx9 -lgx9 -lordimt9 -lunls9 -lsnls9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -lnls9 -lwwg9 -locijdbc9 -lxsd9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /opt/apps/oracle/product/9.2.04/lib/sysliblist` -R /opt/SUNWcluster/lib:/opt/apps/oracle/product/9 .2.04/lib -Y P,:/opt/SUNWcluster/lib:/usr/ccs/lib:/usr/lib -Qy -lc -laio -lposix4 -lkstat -lm /opt/apps/oracle/product/9.2.04/lib/WS6U1/crtn.o ld: fatal: file /opt/apps/oracle/product/9.2.04/rdbms/lib/kpufpd.o: open failed: No such file or directory ld: fatal: File processing errors. No output written to expst make: *** [expst] Error 1

So the main error is:

ld: fatal: file /opt/apps/oracle/product/9.2.04/rdbms/lib/kpufpd.o: open failed: No such file or directory

Via http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1219996992648+28353475&threadId=645958 I found:

In Oracle Server - Enterprise Edition 9i, Single-task linking and non-deferred linking are not supported You will experience the following errors when linking executables in single-task mode for example “ld: I/O error, file "$ORACLE_HOME/rdbms/lib/kpufpd.o": No such file or directory unable to create single-task executables (expst,impst,sqlldrst)

The fix for this is to use two-task (normally) linked executables.

Do not pass following targets to the make utlility: singletask, expst, impst, sqlldrst I.e. use
make -f ins_rdbms.mk iexp iimp isqlldr

instead of
make -f ins_rdbms.mk expst impst sqlldrst make -f ins_rdbms.mk singletask

This makes me wonder - the BlakGeek guy (and also some other people) were able to build single task exp.

Is it at all possible to build expst on

Thanks a lot,

Michael Received on Fri Aug 29 2008 - 08:01:59 CDT

Original text of this message