imp exp sqlldr 有个叫做 singletask 模式 relink的方式据说可以增加执行速度。
上去是某种特定平台才有.据说会消耗更多内存.在IxORA 上有一则信息:
To perform a single-task export, you must use the expst executable instead of just exp. You will probably need to create the executable first, as follows.
cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk singletaskIf you are intending the single-task executables to be used by a user other than oracle, then you will need to set the setuid bits as follows.
chmod 4511 $ORACLE_HOME/bin/*st
我在 Linux 下和 HP-UX 下测试了一下,现在的版本似乎都不支持了.得到的错误信息如下:
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk singletask - Linking Singletask Export utility (exp) cc -Wl,+s -Wl,+n +DA2.0W +DS2.0 -o expst -L/oracle/product/9.2.0/rdbms/lib/ -L/oracle/product/9.2.0/lib/ /oracle/product/9.2.0/rdbms/lib/s0exudrv.o /oracle/product/9.2.0/rdbms/lib/defopt.o -ldbtools9 `if [ -f /oracle/product/9.2.0/lib/osntabst.o ]; then \ echo '/oracle/product/9.2.0/lib/osntabst.o'; \ else \ echo '/oracle/product/9.2.0/network/lib/osntabst.o'; \ fi ` /oracle/product/9.2.0/rdbms/lib/ttcsoi.o /oracle/product/9.2.0/rdbms/lib/ttcoerr.o /oracle/product/9.2.0/rdbms/lib/kpufpd.o /oracle/product/9.2.0/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lpls9 -lplp9 -lslax9 -lgeneric9 -lclient9 -lcommon9 -lwtc9 -lmm -lknlopt -lpls9 -lserver9 -lpls9 /oracle/product/9.2.0/lib/nautab.o /oracle/product/9.2.0/lib/naeet.o /oracle/product/9.2.0/lib/naect.o /oracle/product/9.2.0/lib/naedhs.o `cat /oracle/product/9.2.0/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 -lclient9 -lpls9 -lplp9 -ljox9 -lserver9 `cat /oracle/product/9.2.0/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 -ltrace9 `if ar tv /oracle/product/9.2.0/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 -lordimt9 -lunls9 -lsnls9 -lnls9 -lcore9 -lxml9 -lunls9 -lnls9 -lwwg9 -locijdbc9 -lxsd9 -lnls9 -lcore9 -lxml9 -lunls9 `cat /oracle/product/9.2.0/lib/sysliblist` -lm ld: I/O error, file "/oracle/product/9.2.0/rdbms/lib/kpufpd.o": No such file or directory Fatal error. *** Error exit code 1 Stop. $若要在用户和Oracle 8i之间传输大量的数据(如使用Export/Import),使用单任务结构是非常高效的,因为作为单任务链接Oracle可执行程序,允许某用户进程直接存取整个SGA。但运行单任务需要更多的内存。为了使用单任务导入、导出和SQLLoader(sqlldrst)可执行程序,我们可以调用make文件的ins_rdbms.mk(在$ORACLE_HOME/rdbms/lib目录中)。
下面是用于实现单任务导入、导出和SQLLoader(sqlldrst)的可执行程序:% cd $ORACLE_HOME/rdbms/lib % make -f ins_utilities.mk singletask